国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中的日期時間處理詳解

2019-11-25 16:29:29
字體:
來源:轉載
供稿:網友

Python中關于時間、日期的處理庫有三個:time、datetime和Calendar,其中datetime又有datetime.date、datetime.time、datetime.datetime三個類。而時間又可以分為時間戳、本地時間和UTC時間(世界標準時間)。是不是聽起來有點亂?那么他們相互之間有什么區別?有什么聯系?又如何轉換呢?

time模塊

在time模塊中,時間有三種表現形式:

時間戳,一般指Unix時間戳,是從1970年開始到現在的秒數。
本地時間的struct_time形式:一個長度為11的命名元組,第一位為年,第二位為月....
UTC時間的struct_time形式:一個長度為11的命名元組,類似于上個,只不過為UTC時間
其中后兩者的類型一致,區別在于一個是本地時間(localtime),一個是utc時間。

各種時間形式的獲取方式:

print("time stamp:", time.time())     # 時間戳:1479193181.829338print("local time:", time.localtime())  # struct_time類型的本地時間time.struct_time(tm_year=2016, tm_mon=11, tm_mday=15, tm_hour=14, tm_min=59, tm_sec=41, tm_wday=1, tm_yday=320, tm_isdst=0)print("utc time:", time.gmtime())     # struct_time類型的utc時間time.struct_time(tm_year=2016, tm_mon=11, tm_mday=15, tm_hour=6, tm_min=59, tm_sec=41, tm_wday=1, tm_yday=320, tm_isdst=0)

這里可以看出,本地時間(北京時間)和UTC時間相差8個小時。

各種時間形式的轉換:

time_stamp = time.time()        # 時間戳local_time = time.localtime(time_stamp)# 時間戳轉struct_time類型的本地時間utc_time = time.gmtime(time_stamp)   # 時間戳轉struct_time類型的utc時間time_stamp_1 = time.mktime(local_time) # struct_time類型的本地時間轉時間戳time_stamp_2 = calendar.timegm(utc_time)# struct_time類型的utc時間轉時間戳print(time_stamp, time_stamp_1, time_stamp_2)

各種時間形式和字符串之間的轉換:

print(time.ctime(time_stamp))    # 時間戳轉字符串(本地時間字符串)print(time.asctime(local_time))   # struct_time類型的本地時間轉字符串print(time.asctime(utc_time))    # struct_time類型的utc時間轉字符串# struct_time類型的本地時間轉字符串:自定義格式print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", local_time))# struct_time類型的utc時間轉字符串:自定義格式print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", utc_time))struct_time = time.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w")    # 字符串轉struct_time類型

datetime模塊

接下來再看datetime模塊。該模塊中包含4個主要的類:

datetime.time:時間類,只包含時、分、秒、微秒等時間信息。
datetime.date:日期類,只包含年、月、日、星期等日期信息。
datetime.datetime:日期時間類,包含以上兩者的全部信息。
datetime.timedelta:時間日期差值類,用來表示兩個datetime之間的差值。
關于各個類的基本用法比較簡單,建議看官方文檔:datetime module

這里主要說一下datetime.datetime類的用法,其他兩個的用法類似,只有輕微差別:

a_datetime_local = datetime.datetime.now() # 獲取datetime.datetime類型的本地時間a_datetime_utc = datetime.datetime.utcnow() # 獲取datetime.datetime類型的utc時間# datetime.datetime類型轉字符串print(a_datetime_local.strftime("%Y-%m-%d, %H:%M:%S, %w")) # datetime.datetime類型轉字符串print(a_datetime_utc.strftime("%Y-%m-%d, %H:%M:%S, %w"))  a_datetime = datetime.datetime.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w")  # 字符串轉

datetime.datetime格式

datetime類型和時間戳、struct_time類型的相互轉換

datetime.datetime和時間戳、struct_time之間,也能夠相互轉換:

time_stamp = a_datetime_local.timestamp()  # datetime類型轉時間戳print(time_stamp)a_datetime_local = datetime.datetime.fromtimestamp(time.time())   # 時間戳轉datetime.datetime類型的本地時間a_datetime_utc = datetime.datetime.utcfromtimestamp(time.time())  # 時間戳轉datetime.datetime類型的utc時間print(a_datetime_local, a_datetime_utc)print(a_datetime_local.timetuple())   # datetime類型轉struct_time類型print(a_datetime_utc.utctimetuple())  # datetime類型轉struct_time類型

本文主要講了各種時間、日期類型的基本用法,以及他們之間相互轉換的方法,以及他們和字符串之間相互轉換的方法。

老規矩,文中代碼已上傳至github:https://github.com/xianhu/LearnPython

本站備份下載地址:http://xz.VeVB.COm:81/201611/yuanma/LearnPython(VeVB.COm).zip

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富宁县| 丰城市| 剑河县| 宁国市| 衡南县| 林口县| 宜州市| 陈巴尔虎旗| 乌拉特前旗| 农安县| 资兴市| 岳阳县| 呼图壁县| 锦州市| 唐海县| 建阳市| 清水河县| 曲阳县| 眉山市| 兴城市| 余江县| 西贡区| 黔南| 尤溪县| 高台县| 油尖旺区| 家居| 简阳市| 扶绥县| 兖州市| 广水市| 孟州市| 许昌县| 敖汉旗| 黑水县| 洛南县| 鄂托克旗| 诏安县| 五大连池市| 达孜县| 镇坪县|