Python处理时间和时间戳的内置模块就有time
,和datetime
两个,本文先说time
模块。
- 时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。
- 时间元组(struct_time),包含9个元素。
- time.struct_time(tm_year=2017, tm_mon=10, tm_mday=1, tm_hour=14, tm_min=21, tm_sec=57, tm_wday=6, tm_yday=274, tm_isdst=0)
- 时间格式字符串,字符串形式的时间。
time
模块与时间戳和时间相关的重要函数
- time.time() 生成当前的时间戳,格式为10位整数的浮点数。
- time.strftime()根据时间元组生成时间格式化字符串。
- time.strptime()根据时间格式化字符串生成时间元组。time.strptime()与time.strftime()为互操作。
- time.localtime()根据时间戳生成当前时区的时间元组。
- time.mktime()根据时间元组生成时间戳。
示例
关于时间戳和格式化字符串的简单示例如下
import time #时间戳 #计算 # print(time.time()) #1481321748.481654秒 #结构化时间---当地时间 # print(time.localtime(1531242343)) # t=time.localtime() # print(t.tm_year) # print(t.tm_wday) # #-----#时间戳转化为结构化时间---UTC # print(time.gmtime()) #-----将结构化时间转换成时间戳 # print(time.mktime(time.localtime())) #------将结构化时间转成字符串时间strftime #print(time.strftime("%Y---%m-%d %X",time.localtime())) #------将字符串时间转成结构化时间strptime #print(time.strptime("2016:12:24:17:50:36","%Y:%m:%d:%X")) # print(time.asctime()) # print(time.ctime()) # import datetime # print(datetime.datetime.now())
实验
print(now_to_date()) print(timestamp_to_date(1506816572)) print(date_to_timestamp('2017-10-01 08:09:32')) print(timestamp_to_timestamp10(1506816572546)) print(date_style_transfomation('2017-10-01 08:09:32'))
结果
1506836224000 2017-10-01 13:37:04 2017-10-01 08:09:32 1506816572 1506816572 2017-10-01 08-09-32