python 如何用 datetime 獲取當(dāng)天任意時刻

Time

datetime 時間魔法

用過 python 中 datetime 模塊的話

都知道可以通過 datetime.now() 或者 datetime.today() 獲取到當(dāng)前系統(tǒng)的年造锅、月膜钓、日噪猾、時怒详、分卖毁、秒

有沒有辦法民晒,能在程序運(yùn)行的時候凡涩,獲取到系統(tǒng)當(dāng)天的任意時刻呢些己?也就是時:分:秒

有兩種方案可以嘗試豌鸡,需要預(yù)熱的知識:

  • datetime.datetime.now() or datetiime.datetime.today() -- 獲取系統(tǒng)當(dāng)前時間
  • datetime.strftime() -- 轉(zhuǎn)化時間對象為指定格式的字符串
  • datetime.strptime() -- 指定格式的字符串轉(zhuǎn)化時間對象
  • datetime.timedelta() -- 通過增量跑芳,修改時間對象

一、字符串拼接法

兩行代碼實(shí)現(xiàn)

#!usr/bin/python3
# -*- utf-8 -*-

import datetime

today = datetime.datetime.now().strftime("%Y%m%d")  # 20220518
dt_5_30 = datetime.datetime.strptime(today + ' 05:30', "%Y%m%d %H:%M")  # 20220518 05:30
dt_23_30 = datetime.datetime.strptime(today + ' 23:30', "%Y%m%d %H:%M")  # 20220518 08:30

一起來看看代碼的實(shí)現(xiàn)思路:

  1. 先通過 datetime.strftime() 方法得到當(dāng)天的年直颅、月博个、日的格式化字符串;
  2. 然后通過 datetime.strptime()方法功偿,當(dāng)天的年盆佣、月、日字符串械荷,拼接上指定的時刻共耍,如:“05:30”。

datetime 的 strptime方法吨瞎,會將我們指定的時間痹兜,轉(zhuǎn)換為一個datetime對象

二、“時間滑塊法”

如果把時間想象成一個從左往右的慢慢滑動的滑塊... ...

那么颤诀,我們就可以任意把時間 “撥動” 到任意時刻了不是么字旭?

我們需要借助 timedelta 的 “時間魔法”,把時間撥動一下崖叫,得到我們想要的時間

#!usr/bin/python3
# -*- utf-8 -*-

from datetime import datetime, timedelta

def get_today_hour_minute(H, M, S=0):
    """ 可以撥動的 “時間滑塊” 函數(shù)
    :param H: int hour 小時
    :param M: int minute 小時
    :param S: option int 秒數(shù)
    :return: 返回當(dāng)天的任意時刻的 datetime 對象
    """
    today = datetime.today()  # datetime.now() 也可以遗淳,不過精度要求不高時可以用 today
    zero_today = today - timedelta(hours=today.hour, minutes=today.minute, seconds=today.second, microseconds=today.microsecond)
    set_today = zero_today + timedelta(hours=H, minutes=M, seconds=S)
    return set_today

dt_5_30 = get_today_hour_minute(5, 30)
dt_23_30 = get_today_hour_minute(23, 30)

一起來看看代碼的實(shí)現(xiàn)思路,是怎么撥動時間的呢心傀?

  1. 通過 datetime.today() 得到當(dāng)前的系統(tǒng)時間屈暗;
  2. 借助 timedelta(表示時間的增量,用絕對值的思維)脂男,讓時間對象 today 养叛,減去 “自己”已經(jīng) 走過的時間,使得today時間 “歸零” 得到 zero_today【20220518000000】宰翅;
  3. 讓后弃甥,再通過 timedelta ,給清零的時間對象 today 一個新的增量堕油,通過傳入的參數(shù) H潘飘、M肮之、S掉缺。也就是,我們自己撥動了表盤的時針戈擒、分針眶明、秒針

在這里,我們也能操控時間了 XD

三筐高、使用場景

用上面的任意一種方法
得到的用于界定時間范圍的datetime對象
就可以用于當(dāng)天時間數(shù)據(jù)的對比了
舉個小例子:

if datetime.datetime.now() < dt_5_30:
    print("當(dāng)前時間小于 05:30")
elif (datetime.datetime.now() >= dt_5_30 and datetime.datetime.now() < dt_23_30):
    print("當(dāng)前時間大于等于 05:30搜囱,小于 08:30")

你喜歡哪一種方案呢丑瞧?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蜀肘,隨后出現(xiàn)的幾起案子绊汹,更是在濱河造成了極大的恐慌,老刑警劉巖扮宠,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件西乖,死亡現(xiàn)場離奇詭異,居然都是意外死亡坛增,警方通過查閱死者的電腦和手機(jī)获雕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來收捣,“玉大人届案,你說我怎么就攤上這事“瞻” “怎么了楣颠?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咐蚯。 經(jīng)常有香客問我球碉,道長,這世上最難降的妖魔是什么仓蛆? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任睁冬,我火速辦了婚禮,結(jié)果婚禮上看疙,老公的妹妹穿的比我還像新娘豆拨。我一直安慰自己,他們只是感情好能庆,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布施禾。 她就那樣靜靜地躺著,像睡著了一般搁胆。 火紅的嫁衣襯著肌膚如雪弥搞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天渠旁,我揣著相機(jī)與錄音攀例,去河邊找鬼。 笑死顾腊,一個胖子當(dāng)著我的面吹牛粤铭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杂靶,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼梆惯,長吁一口氣:“原來是場噩夢啊……” “哼酱鸭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起垛吗,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤凹髓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后怯屉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扁誓,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年蚀之,在試婚紗的時候發(fā)現(xiàn)自己被綠了蝗敢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡足删,死狀恐怖寿谴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情失受,我是刑警寧澤讶泰,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站拂到,受9級特大地震影響痪署,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜兄旬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一狼犯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧领铐,春花似錦悯森、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至音诈,卻和暖如春幻碱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背细溅。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工褥傍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谒兄。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓摔桦,卻偏偏與公主長得像社付,于是被迫代替她去往敵國和親承疲。 傳聞我的和親對象是個殘疾皇子邻耕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容