Python time和datatime模块

 time和datatime模块

时间相关的操作,时间有三种表示方式:

  • 时间戳               1970年1月1日之后的秒,即:time.time()
  • 格式化的字符串    2014-11-11 11:11,    即:time.strftime('%Y-%m-%d')
  • 结构化时间          元组包含了:年、日、星期等... time.struct_time    即:time.localtime()
import time

# 返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
print(time.clock())
print(time.process_time())


输入结果:
1.520822339055174e-06
0.09360059999999999  
import time

# 返回与utc时间的时间差,以秒计算
print(time.altzone)

输入结果:
-32400  
import time

# 返回时间格式"Thu Oct 19 17:26:06 2017"
print(time.asctime())

输入结果:
Thu Nov 30 16:53:21 2017  
import time

# 返回本地时间 的struct time对象格式
print(time.localtime())

输入结果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=30, tm_hour=16, tm_min=53, tm_sec=21, tm_wday=3, tm_yday=334, tm_isdst=0)  
import time

# 返回时间格式"Fri Aug 19 11:14:16 2016"
print(time.asctime(time.localtime()))
# 返回时间格式"Fri Aug 19 11:14:16 2016"
print(time.ctime())

输入结果:
Thu Nov 30 16:53:21 2017
Thu Nov 30 16:53:21 2017  
import time

# 返回utc时间的struc时间对象格式
print(time.gmtime(time.time()-800000))

输入结果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=21, tm_hour=2, tm_min=40, tm_sec=1, tm_wday=1, tm_yday=325, tm_isdst=0)  
import time

# # 日期字符串 转成  时间戳
# # 将 日期字符串 转成 struct时间对象格式
string_2_struct = time.strptime("2016/06/22", "%Y/%m/%d")
print(string_2_struct)
string_2_struct = time.strptime("2016.06.22", "%Y.%m.%d")
print(string_2_struct)

输入结果:
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=174, tm_isdst=-1)
time.struct_time(tm_year=2016, tm_mon=6, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=174, tm_isdst=-1)  
import time

# 将struct时间对象转成时间戳
struct_2_stamp = time.mktime(string_2_struct)
print(struct_2_stamp)

输入结果:
1466524800.0  
import time

# # 返回时间格式"Fri Aug 19 11:14:16 2016"
a = time.asctime(string_2_struct)
print(a)

输入结果:
Wed Jun 22 00:00:00 2016  
import time

# 将时间戳转为字符串格式
print(time.gmtime(time.time()-86640)) # 将utc时间戳转换成struct_time格式

输入结果:
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=29, tm_hour=8, tm_min=49, tm_sec=21, tm_wday=2, tm_yday=333, tm_isdst=0)  
import time

print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())) # 将utc struct_time格式转成指定的字符串格式
print(time.strftime("%Y:%m:%d %H:%M:%S", time.gmtime(time.time()+28800))) # 正八区时间
print("33[32m%s33[0m" % time.strftime("%Y:%m:%d %H:%M:%S")) # 正八区时间
print("33[31m%s33[0m" % time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) # 正八区时间

输入结果:
2017-11-30 08:53:21
2017:11:30 16:53:21
2017:11:30 16:53:21
2017-11-30 16:53:21  
原文地址:https://www.cnblogs.com/evescn/p/7930186.html