📜  时间戳和日期时间 python (1)

📅  最后修改于: 2023-12-03 14:55:10.024000             🧑  作者: Mango

时间戳和日期时间 Python

在 Python 中,我们可以使用时间戳和日期时间来处理日期和时间相关的操作。本文将介绍如何通过 Python 在时间戳和日期时间之间相互转换,以及如何对日期时间进行格式化和计算等操作。

时间戳和日期时间的概念

时间戳(timestamp)是自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的秒数,是一种表示时间的方式。在 Python 中,我们可以使用 time 模块来获取当前的时间戳:

import time

timestamp = time.time()
print(timestamp)

输出结果为:

1622381922.3699787

日期时间(datetime)是指具体的年、月、日和时、分、秒。在 Python 中,我们可以使用 datetime 模块来获取当前的日期时间:

import datetime

now = datetime.datetime.now()
print(now)

输出结果为:

2021-05-30 17:45:22.392537
时间戳和日期时间的转换

在 Python 中,我们可以使用 datetime 模块的 fromtimestamp 方法将时间戳转换为日期时间:

timestamp = 1622381922.3699787
dt = datetime.datetime.fromtimestamp(timestamp)
print(dt)

输出结果为:

2021-05-30 17:45:22.369979

同样地,我们也可以使用 datetime 对象的 timestamp 方法将日期时间转换为时间戳:

dt = datetime.datetime(2021, 5, 30, 17, 45, 22)
timestamp = dt.timestamp()
print(timestamp)

输出结果为:

1622385922.0

需要注意的是,由于时间戳的精度只有到秒,因此在将日期时间转换为时间戳时秒以下的部分会被舍去。

日期时间的格式化

在 Python 中,我们可以通过 strftime 方法将日期时间按照指定的格式进行格式化。下面是一些常用的格式化字符串:

  • %Y:完整的年份,如 2021
  • %m:月份,如 05
  • %d:日,如 30
  • %H:小时(24 小时制),如 17
  • %M:分钟,如 45
  • %S:秒,如 22
dt = datetime.datetime(2021, 5, 30, 17, 45, 22)
formatted = dt.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)

输出结果为:

2021-05-30 17:45:22
日期时间的计算

在 Python 中,我们可以对日期时间进行加减计算。对于 datetime 对象可以使用 timedelta 进行加减,可以指定以天、小时、分钟、秒等为单位:

dt = datetime.datetime(2021, 5, 30, 17, 45, 22)
td = datetime.timedelta(days=1, hours=2, minutes=30, seconds=10)
new_dt = dt + td
print(new_dt)

输出结果为:

2021-05-31 20:15:32

对于时间戳可以直接加减相应的秒数:

timestamp = 1622381922.3699787
new_timestamp = timestamp + 3600
print(new_timestamp)

输出结果为:

1622385522.3699787
总结

在 Python 中,我们可以使用时间戳和日期时间来处理日期和时间相关的操作。我们可以通过 datetime 模块的 fromtimestamptimestamp 方法实现时间戳和日期时间之间的相互转换,可以通过 strftime 方法进行日期时间的格式化,可以对日期时间进行加减计算,并且可以指定以天、小时、分钟、秒等为单位。