600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Python获取日期时间 格式化strftime和strptime 时间加减relativedelta

Python获取日期时间 格式化strftime和strptime 时间加减relativedelta

时间:2023-09-20 03:59:12

相关推荐

Python获取日期时间 格式化strftime和strptime 时间加减relativedelta

获取日期时间,算是大家经常要用到的操作吧,这里归纳总结一下import datetime的情况下,常用的日期获取、格式化、时间加减的场景,即today、now、strftime、strptime、relativedelta、timedelta等操作

1、获取时间信息today、now

import datetimetoday = datetime.date.today()now = datetime.datetime.now()# 获取当前日期(datetime)print(today)# 获取当前日期时间(datetime)print(now)# 单独获取年、月、日、时、分、秒、毫秒print(now.year, now.month, now.day, now.hour, now.minute, now.second, now.microsecond)# 输出结果:# -04-14# -04-14 15:32:49.186485# 4 14 15 32 49 186485

2、时间格式化(转字符型)strftime

import datetimenow = datetime.datetime.now()# 格式化到秒(varchar)print(now.strftime("%Y-%m-%d %H:%M:%S"))# 格式化到日(varchar)print(now.strftime("%Y-%m-%d"))# 输出结果:# -04-14 15:32:49# -04-14

3、字符型转日期型strptime

import datetime# 字符型日期转日期型(datetime)print(datetime.datetime.strptime("-01-01 00:00:00", "%Y-%m-%d %H:%M:%S"))print(datetime.datetime.strptime("/01/01 00:00:00", "%Y/%m/%d %H:%M:%S"))# 输出结果:# -01-01 00:00:00# -01-01 00:00:00

4、逐个年月日转日期型datetime

​import datetime# 逐个数字转日期型(datetime)print(datetime.datetime(, 2, 1))print(datetime.date(, 2, 1))# 输出结果:# -02-01 00:00:00# -02-01

5、时间加减relativedelta

import datetimefrom dateutil.relativedelta import relativedeltatoday = datetime.date.today()# 时间加减years、months、days、hours、minutes# 用到from dateutil.relativedelta import relativedeltaprint(today + relativedelta(years=1))print(today + relativedelta(months=-1))print(today + relativedelta(days=1))print(today + relativedelta(hours=-1))print(today + relativedelta(minutes=1))# 输出结果:# -04-14# -03-14# -04-15# -04-13 23:00:00# -04-14 00:01:00

6、时间加减timedelta

import datetimenow = datetime.datetime.now()# 时间加减days、hours、minutes(timedelta无法进行年月加减)print(now + datetime.timedelta(days=1))print(now + datetime.timedelta(hours=-1))print(now + datetime.timedelta(minutes=1))# 输出结果:# -04-15 15:37:08.464653# -04-14 14:37:08.464653# -04-14 15:38:08.464653

import time的情况,个人用的不多,主要是用于休眠sleep;

或者因为拿到的是时间戳,只用在时间的计算上,比如

import time# 获取当前时间戳(float)now = time.time()print(now)# 输出结果:# 1649923137.6823924while True:if (time.time() - now) > 5:print(time.time())print('连接超时,断开程序')break# 输出结果:# 1649923142.6824458# 连接超时,断开程序# 休眠3stime.sleep(3)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。