time datetime
time and datetime
时间的三种变现方式:
时间戳方式 #1970年以后的时间,以秒的形式显示出来
元组方式 #也叫struct格式
格式化的字符串 #2018-4-16 12:49:30 这个就是格式化字符串
time模块的具体方法
time.time()
print(time.time()) #时间戳打印1970年到现在的秒数,####不能传参数

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 1523854191.0834622 3 4 Process finished with exit code 0
time.altzone()
print(time.altzone) #返回与utc时间的时间差,以秒计算

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 -32400 3 4 Process finished with exit code 0
time.gmtime()
print(time.gmtime()) #获取当前的utf时间,以元组的形式表示出来,####可以传参数,参数为时间戳


1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 time.struct_time(tm_year=2018, tm_mon=4, tm_mday=16, tm_hour=6, tm_min=4, tm_sec=53, tm_wday=0, tm_yday=106, tm_isdst=0) 3 4 Process finished with exit code 0
time.localtime()
print(time.localtime()) #获取当前时区的时间,以元组的形式表示出来,####可以传参数


1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 time.struct_time(tm_year=2018, tm_mon=4, tm_mday=16, tm_hour=14, tm_min=6, tm_sec=19, tm_wday=0, tm_yday=106, tm_isdst=0) 3 4 Process finished with exit code 0
time.acstime()
x=time.gmtime() print(time.asctime(x)) #返回时间格式 Mon Apr 16 12:38:30 2018 ##可以传参数,参数为‘元组’,不传参数就是当前时间 print(time.asctime()) #不传参数返回了当前时间,跟上边的utc时间正好差了8小时

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 Mon Apr 16 05:11:46 2018 #带gmtime参数 3 Mon Apr 16 13:11:46 2018 #不带参数的本地时间 4 5 Process finished with exit code 0
time.ctime()
print(time.ctime(23333)) #返回时间格式 Thu Jan 1 14:28:53 1970 ##可以传参数,参数为时间戳,不传参数就是当前时间 print(time.ctime()) #返回 Mon Apr 16 13:15:51 2018 的时间格式 #这个acstime,ctime就是个天,月 , 时,分,秒,年的时间格式,acstime是元组参数,ctime是时间戳参数

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 Thu Jan 1 14:28:53 1970 3 Mon Apr 16 13:15:51 2018 4 5 Process finished with exit code 0
time.mktime()
x=time.localtime() print(time.mktime(x)) #将struct(元组)时间对象转换成时间戳

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 1523855990.0 3 4 Process finished with exit code 0
time.strftime()
x=time.gmtime() print(time.strftime('%Y-%m-%d %H:%M:%S',x)) #根据‘格式’,把‘元组’转换成‘符合格式的时间字符串’

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 2018-04-16 05:24:51 3 4 Process finished with exit code 0
time.strptime()
print(time.strptime('2016-12-03 12:33:44','%Y-%m-%d %H:%M:%S')) #把‘符合格式的时间字符串’根据‘格式’转换成符合格式内容的的‘元组(struct)’

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 time.struct_time(tm_year=2016, tm_mon=12, tm_mday=3, tm_hour=12, tm_min=33, tm_sec=44, tm_wday=5, tm_yday=338, tm_isdst=-1) 3 4 Process finished with exit code 0
小结
#将元组转换为时间戳
time.mktime()
#将时间戳转换为元组
time.gmtime()
time.locatime()
#将元组转换成指定格式(格式化字符串)
strftime()
#将指定格式(格式化字符串)转换成元组
strptime()
如下图
acstime就是把元组转换成 天,月 , 时,分,秒,年的时间格式
ctime就是把时间戳转换成 天,月 , 时,分,秒,年的时间格式
格式参照
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | % a 本地(locale)简化星期名称 % A 本地完整星期名称 % b 本地简化月份名称 % B 本地完整月份名称 % c 本地相应的日期和时间表示 % d 一个月中的第几天( 01 - 31 ) % H 一天中的第几个小时( 24 小时制, 00 - 23 ) % I 第几个小时( 12 小时制, 01 - 12 ) % j 一年中的第几天( 001 - 366 ) % m 月份( 01 - 12 ) % M 分钟数( 00 - 59 ) % p 本地am或者pm的相应符 一 % S 秒( 01 - 61 ) 二 % U 一年中的星期数。( 00 - 53 星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第 0 周。 三 % w 一个星期中的第几天( 0 - 6 , 0 是星期天) 三 % W 和 % U基本相同,不同的是 % W以星期一为一个星期的开始。 % x 本地相应日期 % X 本地相应时间 % y 去掉世纪的年份( 00 - 99 ) % Y 完整的年份 % Z 时区的名字(如果不存在为空字符) % % ‘ % ’字符 |
datetime
时间加减
datetime.timedelta() #有参数,默认为日,可以指定 时 ,分 ,秒 等
import datetime print(datetime.datetime.now()) #返回当前时间,以字符串的形式 print(datetime.date.fromtimestamp(time.time())) #把当前的时间戳转换成日期格式(字符串形式) print(datetime.date.fromtimestamp(2333)) #指定时间戳转换成日期格式 #日期加减 print(datetime.datetime.now()+datetime.timedelta(3)) #当前时间加3天 print(datetime.datetime.now()+datetime.timedelta(-3)) #当前时间减3天 print(datetime.datetime.now()+datetime.timedelta(hours=3)) #当前时间加3小时 print(datetime.datetime.now()+datetime.timedelta(minutes=30)) #当前时间减3小时

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 2018-04-16 13:48:27.290047 3 2018-04-16 #时间戳是当前时间 4 1970-01-01 #时间戳是2333 5 2018-04-19 13:48:27.290047 6 2018-04-13 13:48:27.290047 7 2018-04-16 16:48:27.290047 8 2018-04-16 14:18:27.290047 9 10 Process finished with exit code 0
时间替换
datetime.replace() #需要指定参数
time_1 = datetime.datetime.now() print(time_1) print(time_1.replace(minute=3,hour=2)) #时间替换

1 C:\Users\qiangql\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py 2 2018-04-16 13:52:12.023518 3 2018-04-16 02:03:12.023518 4 5 Process finished with exit code 0
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步