python中时间类型的相关操作

311 阅读2分钟

1 首先是时间与时间戳的转换

  • 将时间转换为时间戳

  • 重新格式化时间

  • 时间戳转换为时间

  • 获取当前时间及将其转换成时间戳(实际需求)

1.1 时间转换成时间戳

  • 利用strptime()函数可以将时间转换成时间数组

  • 利用mktime()函数将时间数组转换成时间戳

  • 注:只写年月日,不写时分秒默认时分秒为0

1.2 时间戳转换为时间

  • 利用localtime()函数将时间戳转化成localtime的格式

  • 利用strftime()函数重新格式化时间图片

2 关于13位时间戳的转化

  • python常见的时间戳位数是10位,java常见13位的时间戳图片

3 重新格式化时间

  • 利用strptime()函数将时间转换成时间数组

  • 利用strftime()函数重新格式化时间

4 按指定格式获取当前时间

  • 利用time()获取当前时间,

  • 再利用localtime()函数转换为localtime(本地)时间数组,

  • 最后利用strftime()函数重新格式化时间。图片

5 取时间间隔

5.1 datetime.timedelta

  • 注:无法取月的间隔
import datetime

nowtime = datetime.datetime.now()
print("当前时间", nowtime) 

print('1天前', datetime.datetime.now() - datetime.timedelta(days=1)) # 默认格式2022-06-09 18:29:12.082389,规范格式见下方
print('1天后', datetime.datetime.now() + datetime.timedelta(days=1)) 

print('两周前', (datetime.datetime.now() - datetime.timedelta(weeks=2)).strftime("%Y-%m-%d %H:%M:%S")) 
print('两周后', (datetime.datetime.now() + datetime.timedelta(weeks=2)).strftime("%Y-%m-%d %H:%M:%S")) 

print('1天前', (datetime.datetime.now() - datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")) 
print('1天后', (datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S"))

print('2小时前', (datetime.datetime.now() - datetime.timedelta(hours=2)).strftime("%Y-%m-%d %H:%M:%S")) 
print('2小时后', (datetime.datetime.now() + datetime.timedelta(hours=2)).strftime("%Y-%m-%d %H:%M:%S")) 

print('30分钟前', (datetime.datetime.now() - datetime.timedelta(minutes=30)).strftime("%Y-%m-%d %H:%M:%S")) 
print('30分钟后', (datetime.datetime.now() + datetime.timedelta(minutes=30)).strftime("%Y-%m-%d %H:%M:%S")) 

print('10秒前', (datetime.datetime.now() - datetime.timedelta(seconds=10)).strftime("%Y-%m-%d %H:%M:%S"))
print('10秒后', (datetime.datetime.now() + datetime.timedelta(seconds=10)).strftime("%Y-%m-%d %H:%M:%S"))

print('1月前', (datetime.datetime.now() - datetime.timedelta(months=1)).strftime("%Y-%m-%d %H:%M:%S"))
print('1月后', (datetime.datetime.now() + datetime.timedelta(months=1)).strftime("%Y-%m-%d %H:%M:%S"))

图片

5.2 以下为可以取月间隔的方法

  • dateutil 的relativedelta方法

  • arrow 的shift方法

  • pandas 的DateOffset方法

以上三个方法未亲测,有需要见参考资料中有示例自取

参考资料

时间与时间戳如何转换niubiqigai的博客-CSDN博客时间戳怎么转

Python之time模块的时间戳、时间字符串格式化与转换(13位时间戳)mighty13的博客-CSDN博客python time时间戳

时间与时间戳如何转换niubiqigai的博客-CSDN博客时间戳怎么转

python 处理时间间隔 - 知乎 (zhihu.com)

python取当前时间前后一定间隔的时间点Python学习者的技术博客51CTO博客

本文使用 文章同步助手 同步