溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么進行python日期時間處理

發(fā)布時間:2021-12-15 17:06:21 來源:億速云 閱讀:156 作者:柒染 欄目:開發(fā)技術(shù)

這篇文章給大家介紹怎么進行python日期時間處理,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

開發(fā)中常用的日期操作還有哪些?

  • 時區(qū)轉(zhuǎn)換顯示

  • 日期格式化

  • 秒數(shù) 與 日期 與 字符串的轉(zhuǎn)換

我們經(jīng)常會用到,比如全球化的業(yè)務(wù)根據(jù)不同客戶顯示不同時間(格式等)

在python 主要有下面兩個模塊涵蓋了常用日期處理

import time
import calender

我們看看這兩個模塊。

時間處理中的類型轉(zhuǎn)換:struct_time vs str

Python中創(chuàng)建一個時間,具體來說創(chuàng)建一個struct_time 需要一個9個元素的元組來構(gòu)造。

asctime 函數(shù)幫我們把這種類型的時間格式化為字符串。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/10 22:49 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : createtime.py
# @Project : hello

import time
# fixed time: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=10, tm_hour=22, tm_min=55, tm_sec=11, tm_wday=16, tm_yday=16, tm_isdst=16)
the9fields = (2021, 11, 10, 22, 55, 11, 16, 16, 16)
fixed = time.struct_time(the9fields)
print("fixed time:", fixed)
print("type:", type(fixed))
result = time.asctime(the9fields)  # 類似struct_time,需要9個元素構(gòu)成的元組參數(shù)。
print("asc time:", result)
print("type:", type(result))
localtime = time.localtime()
print("local time:", localtime)
print("type:", type(localtime))
print("asc time:", time.asctime(localtime))

運行效果如下:

怎么進行python日期時間處理

這個ticks就是從0時刻計算,至今的秒數(shù)累計。

可以隔一秒運行這個程序,每次ticks值加上1(近似)

指定輸入來構(gòu)造時間:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/10 22:49 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : createtime.py
# @Project : hello

import time
#fixed time: time.struct_time(tm_year=2021, tm_mon=11, tm_mday=10, tm_hour=22, tm_min=55, tm_sec=11, tm_wday=16, tm_yday=16, tm_isdst=16)
fixed = time.struct_time((2021, 11, 10, 22, 55, 11, 16, 16, 16))
print("fixed time:", fixed)

運行效果如下:

怎么進行python日期時間處理

時間與字符串轉(zhuǎn)換

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/10 22:49 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : createtime2.py
# @Project : hello

import time
sec = 3600  # 紀元開始后的一個小時(GMT 19700101凌晨)
#
gmtime = time.gmtime(sec)
print("gmtime:", gmtime)  # GMT
print("type:", type(gmtime))
print(time.strftime("%b %d %Y %H:%M:%S", gmtime))
print(time.strftime("%Y-%m-%d %H:%M:%S %Z", gmtime))  # 打印日期加上時區(qū)
print("*" * 16)
localtime = time.localtime(sec)
print("localtime:", localtime)  # 本地時間
print("type:", type(localtime))
print(time.strftime("%b %d %Y %H:%M:%S", localtime))
print(time.strftime("%Y-%m-%d %H:%M:%S %Z", localtime))  # 打印日期加上時區(qū)
#試試其他格式
print(time.strftime("%D", localtime))
print(time.strftime("%T", localtime))

下面是運行結(jié)果:

怎么進行python日期時間處理

對于時間格式化函數(shù)(strftime) 它并不理會你傳入的時間(struct_time)是哪個時區(qū)的,照樣給你輸出,也是正確的。

但是我們寫程序拿數(shù)據(jù)的時候,必須把時區(qū)信息原樣返回到用戶端,或者是UI端,最后由客戶端本地時區(qū)設(shè)置進行調(diào)整顯示。

最后看看,日期文本轉(zhuǎn)換為日期(struct_time).

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/10 7:49 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷學委
# @XueWeiTag: CodingDemo
# @File : createtime4.py
# @Project : hello
import time
print("strptime1:", time.strptime("Jan 01 1970 09:00:00", "%b %d %Y %H:%M:%S"))
print("strptime2:", time.strptime("1970-01-01 09:00:00", "%Y-%m-%d %H:%M:%S"))
print("strptime3:", time.strptime("1970-01-01 09:00:00 CST", "%Y-%m-%d %H:%M:%S %Z"))

下面是運行結(jié)果:

怎么進行python日期時間處理

關(guān)于怎么進行python日期時間處理就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI