# _*_ coding: utf-8 _*_
import time
import calendar
import datetime
# time子產品中的三種時間形式
print("time stamp:", time.time()) # 時間戳
print("local time:", time.localtime()) # struct_time類型的本地時間
print("utc time:", time.gmtime()) # struct_time類型的utc時間
# time子產品中,三種時間形式之間的轉換
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)
# time子產品中,三種時間形式和字元串之間的轉換
print(time.ctime(time_stamp)) # 時間戳轉字元串(本地時間字元串)
print(time.asctime(local_time)) # struct_time類型的本地時間轉字元串
print(time.asctime(utc_time)) # struct_time類型的utc時間轉字元串
print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", local_time)) # struct_time類型的本地時間轉字元串:自定義格式
print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", utc_time)) # struct_time類型的utc時間轉字元串:自定義格式
struct_time = time.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w") # 字元串轉struct_time類型
# datetime子產品中datetime類的用法
a_datetime_local = datetime.datetime.now() # 擷取datetime.datetime類型的本地時間
a_datetime_utc = datetime.datetime.utcnow() # 擷取datetime.datetime類型的utc時間
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")) # datetime.datetime類型轉字元串
a_datetime = datetime.datetime.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w") # 字元串轉datetime.datetime格式
# 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類型