时间模块(time与datetime)
Posted boygc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间模块(time与datetime)相关的知识,希望对你有一定的参考价值。
一、time
时间分为三种格式:
1、时间戳:1970年1月1日00:00:00开始按秒计算的偏移量
作用:用于时间间隔的计算
2、按照某种格式显示的时间:2020-03-30 11:11:11
作用:用于展示时间
3、结构化的时间(struct_time)
作用:用于单独获取时间的某一部分(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
1 import time 2 3 print(time.time()) # 时间戳1585551358.6356573 4 5 print(time.strftime(‘%Y-%m-%d %X‘)) #格式化时间,2020-03-30 14:58:07 6 print(time.strftime(‘%Y-%m-%d %H-%M-%S %p‘))# 格式化时间,2020-03-30 14-58-07 PM,%p显示上午下午 7 8 res=time.localtime() # 结构化的时间 9 print(res) 10 print(res.tm_year) # 获取时间的某一部分
二、datetime
1 import datetime 2 3 print(datetime.datetime.now()) # 2020-03-30 15:14:25.801331 4 5 时间加减,以上面时间为准 6 print(datetime.datetime.now()+datetime.timedelta(days=7)) #2020-04-06 15:14:25.801331,7天后的时间,减法或day=-7则算的是7天前的时间 7 print(datetime.datetime.now()+datetime.timedelta(weeks=1)) # 2020-04-06 15:14:25.801331 8 print(datetime.datetime.now()+datetime.timedelta(hours=10)) # 2020-03-31 01:14:25.801331
三、时间模块需要掌握的操作
1、时间格式的转换
struct_time->时间戳
1 import time 2 3 res=time.localtime() # time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=15, tm_min=20, tm_sec=29, tm_wday=0, tm_yday=90, tm_isdst=0) 4 print(time.mktime(res)) # 1585552829.0
时间戳->struct_time
1 import time 2 3 res=time.time() # 1585552958.499538 4 print(time.localtime(res)) # time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=15, tm_min=22, tm_sec=38, tm_wday=0, tm_yday=90, tm_isdst=0)
补充:世界标准时间与本地时间
1 import time 2 3 # 差8小时 4 print(time.localtime()) 5 print(time.gmtime()) # 世界标准时间,了解 6 print(time.localtime(333333333)) 7 print(time.gmtime(333333333))
struct_time->格式化的字符串形式的时间
import time s_time=time.localtime() print(time.strftime(‘%Y-%m-%d %H:%M:%S‘,s_time)) # 2020-03-30 15:27:44
格式化的字符串形式的时间->struct_time
import time print(time.strptime(‘1988-03-03 11:11:11‘,‘%Y-%m-%d %H:%M:%S‘)) # time.struct_time(tm_year=1988, tm_mon=3, tm_mday=3, tm_hour=11, tm_min=11, tm_sec=11, tm_wday=3, tm_yday=63, tm_isdst=-1)
真正需要掌握:format string<------>timestamp
format string--->struct_time--->timestamp(时间戳) import time struct_time=time.strptime(‘1988-03-03 11:11:11‘,‘%Y-%m-%d %H:%M:%S‘) timestamp=time.mktime(struct_time) format string<---struct_time<---timestamp res=time.strftime(‘%Y-%m-%d %X‘,time.localtime(timestamp))
了解知识
1 import time 2 3 print(time.asctime()) # Mon Mar 30 15:40:08 2020 4 5 import datetime 6 7 print(datetime.datetime.utcnow()) # 国际时间2020-03-30 07:40:08.035936 8 9 print(datetime.datetime.fromtimestamp(333333)) # 时间戳转格式化时间
以上是关于时间模块(time与datetime)的主要内容,如果未能解决你的问题,请参考以下文章