我的博客
欢迎来到我的博客
bunny.icu

Python中关于时间和日期的操作

Python中关于时间和日期的操作

Python中关于时间和日期的操作

获取当前时间和时间戳

import time
current_timestamp = time.time()  # 1681261489.7928634
int(current_timestamp)           # 1681261489
int(current_timestamp * 1000)    # 1681261489792

时间和字符串互转

字符串转时间

import datetime
time_str = '2023-04-12 14:30:00'
time_obj = datetime.datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')

时间格式化为字符串

import datetime
time_obj = datetime.datetime.now()
time_str = time_obj.strftime('%Y-%m-%d %H:%M:%S')
print(time_str) # 2023-04-12 14:30:00

时间和时间戳互转

时间转时间戳

import datetime
time_obj = datetime.datetime.now()
timestamp = time_obj.timestamp()

时间戳转时间

import datetime
timestamp = 1618585551
time_obj = datetime.datetime.fromtimestamp(timestamp)

时间元组转时间

import datetime
# 时间元组
t = (2022, 4, 12, 9, 30, 0, 1, 102, 0)
# 将时间元组转换为datetime对象
dt = datetime.datetime(*t[:6])
print(dt.timestamp())  # 输出:2022-04-12 09:30:00

时间的计算

import datetime
now = datetime.datetime.now()
five_days_ago = now - datetime.timedelta(days=5)
three_hours_later = now + datetime.timedelta(hours=3)

时区和夏令时

处理时区和夏令时问题,可以用pytz库

import datetime
import pytz
now = datetime.datetime.now()
# 创建时区对象(美国洛杉矶时区)
timezone = pytz.timezone('America/Los_Angeles')
# 将当前时间转换为美国洛杉矶时区时间
now_in_la_timezone = timezone.localize(now)
# 输出当前时间和美国洛杉矶时区时间
print(now)
print(now_in_la_timezone)

2023年11月5日起,美国将实行永久夏令时

date、datetime、time的区别

date模块主要用于表示日期信息,包括年、月、日。其类date提供了一些实例方法,如获取某个日期的星期几、某个日期的前一天或后一天等。

time模块主要用于表示时间信息,包括时、分、秒。其类time提供了一些实例方法,如获取当前时间、将时间对象转化为字符串等。

datetime模块既可以表示日期信息,也可以表示时间信息。其类datetime可以同时表示年、月、日、时、分、秒等信息。它也提供了一些实例方法,如获取某个日期的前一天或后一天、将日期时间对象转化为字符串等。

Reference

ChatGPT

版权声明


本作品系原创, 转载须遵循 CC BY-NC-ND 4.0 许可协议
本文标题:Python中关于时间和日期的操作
本文链接:https://www.bunny.icu/archives/1683

推荐文章

发表评论

textsms
account_circle
email

bunny.icu

Python中关于时间和日期的操作
Python中关于时间和日期的操作 获取当前时间和时间戳 import time current_timestamp = time.time() # 1681261489.7928634 int(current_timestamp) # 1681261489 int(curren…
扫描二维码继续阅读
2023-03-20