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的博客-优快云博客_时间戳怎么转
Python之time模块的时间戳、时间字符串格式化与转换(13位时间戳)_mighty13的博客-优快云博客_python time时间戳
时间与时间戳如何转换_niubiqigai的博客-优快云博客_时间戳怎么转
本文介绍了Python中时间与时间戳的相互转换,包括使用strptime()和mktime()函数进行时间到时间戳的转换,以及localtime()和strftime()函数将时间戳还原为可读时间。此外,还讲解了13位时间戳的概念,并展示了如何通过datetime.timedelta获取当前时间前后的时间间隔,如天、小时、分钟和秒。虽然Python的datetime.timedelta不直接支持月份间隔,但提到了dateutil.relativedelta、arrow.shift和pandas.DateOffset等方法作为替代方案。

被折叠的 条评论
为什么被折叠?



