datetime 使用
datetime是一个关于时间的库,主要包含的类有:
date 日期对象,常用的属性有year,month,day
time 时间对象,hour,minute,second,毫秒
datetime 日期时间对象,常用的属性有hour,minute,second,microsecond
timedelta 时间间隔,即两个时间点之间的长度
日期(date):
import datetime
date = datetime.date(2018, 8, 23)
print(date)
-->
2018-8-23
时间(time):
import datetime
time = datetime.time()
print(time)
-->
00:00:00 # 默认值为00
import datetime
time = datetime.time(18, 55, 35)
print(time)
-->
18:55:35
import datetime
time = datetime.time(18, 55, 35, 2000)
print(time)
-->
18:55:35.002000
日期时间(datetime):
import datetime
datetime = datetime.datetime(2018, 8, 23, 18, 59, 55)
print(datetime)
-->
2018-08-23 18:59:55
时间间隔(datedelta):
import datetime
dlt = datetime.timedelta(hours=5)
print(dlt)
-->
5:00:00
默认值:
days=0, # 天
seconds=0, # 秒
microseconds=0, # 微秒
milliseconds=0, # 毫秒
minutes=0, # 分钟
hours=0, # 小时
weeks=0 # 周
now(返回当前系统时间):
import datetime
now = datetime.datetime.now()
print(now)
-->
2018-08-23 19:10:26.886975
格林威治时间:
表示从1970年1月1日00:00:00 开始至今的时间间隔
import datetime
utc = datetime.datetime.utcnow()
print(utc)
-->
2018-08-23 11:24:26.799106
东八区时间(北京时间):
# 现获取格林威治(本初子午线时间)的当前时间
import datetime
utc = datetime.datetime.utcnow()
# 8小时时差
dtl = datetime.timedelta(hours=8)
now = utc + dtl
print(now)
-->
2018-08-23 19:38:01.218821
解析时间(strptime):按一定的格式输出时间(字符串时间转化为datetime格式)
import datetime
strp = datetime.datetime.strptime('Aug-23-18 19:51', '%b-%d-%y %H:%M')
print(strp)
-->
2018-08-23 19:51:00
当前时间
import datetime
now = datetime.datetime.now()
strf = now.strftime('%Y-%m-%d %H:%M:%S')
print(strf)
可在电脑设置里面查看时间格式
格式化时间(strftime):完全自定义时间格式(将时间格式、转化为自定字符串格式)
import datetime
now = datetime.datetime.now()
strf = now.strftime('%d-%m-%Y %H:%M:%S')
print(strf)
-->
23-08-2018 20:21:24
时间格式怎么改都行
关于时间格式的汇总:
fromtimestamp(t)
将时间戳转换成易读的日期时间
t:时间戳浮点数
import time
import datetime
# 获取当前时间的时间戳
t = time.time() # 1535275338.445392
# 将时间戳转换成易读格式的时间
time = datetime.datetime.fromtimestamp(t)
print(time)
-->
2018-08-26 17:22:18.445392
timestamp(t)
将日期时间转换成时间戳浮点数
t:日期时间格式(易读的时间格式)
import datetime t = datetime.datetime.now() print(t) time = datetime.datetime.timestamp(t) print(time) --> 2018-08-26 17:33:26.657776 1535276006.657776
判断当前时间是否在某一时间段内
1 2 3 4 5 | import datetime #时间范围 start_t = datetime.datetime.strptime(p_every[ "start_time" ], '%Y-%m-%d %H:%M:%S' )end_t = datetime.datetime.strptime(p_every[ 'end_time' ], '%Y-%m-%d %H:%M:%S' ) #当前时间now_t = datetime.datetime.now()if now_t > start_t and now_t < end_t: # 判断当前时间是否在范围时间内 if now_time > start_time and now_time<end_time: |
1 2 | detester = '2017-01-01 12' date = datetime.datetime.strptime(detester, '%Y-%m-%d %H' ) #把时间格式字符串转换成时间戳 |
打印出一年中的所有日期。
import datetime year = datetime.date.today().year for m in range(1, 13): for d in range(1, 32): try: date = datetime.date(year, m, d) print(date) except ValueError: # 如果日期不合法,则跳过 continue
转载:https://www.cnblogs.com/pywjh/p/9526094.html
分类:
datetime
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了