如何将 Python 日期转换为 Unix 时间戳?

如何将 Python 日期转换为 Unix 时间戳?

Python 中,日期和时间都是用 datetime 模块来表示。Unix 时间戳是指从 1970 年 1 月 1 日 00:00:00 UTC (协调世界时) 到指定时间所经过的秒数,因此将 Python 的日期转换为 Unix 时间戳是很有必要的。

阅读更多:Python 教程

时间戳(timestamp)的概念

时间戳是指格林威治时间 1970 年 1 月 1 日 00:00:00 到目标时间所经过的秒数。例如:获取当前时间的时间戳:

import time

timestamp = int(time.time())
print(timestamp)

输出:

1635480821

Python 的日期类型

在 Python 中,日期和时间都用 datetime.datetime 类型来表示。下面是 datetime.datetime 类型的几个参数:

  • year – 年份,例如:2021
  • month – 月份,取值范围为 1 到 12
  • day – 日份,取值范围为 1 到 31
  • hour – 小时,取值范围为 0 到 23
  • minute – 分钟,取值范围为 0 到 59
  • second – 秒钟,取值范围为 0 到 59
  • microsecond – 微妙,取值范围为 0 到 999999

例如,生成一个指定日期的 datetime.datetime 对象:

import datetime

date = datetime.datetime(2022, 1, 1, 0, 0, 0)
print(date)

输出:

2022-01-01 00:00:00

将日期转换为 Unix 时间戳

datetime 模块的 strftime 函数可以将日期转换为字符串。如果需要将日期转换为 Unix 时间戳,可以通过以下步骤进行:

  1. 使用 strftime 函数将日期转换成字符串,格式为 %s
  2. 将字符串转换成 float 类型。
  3. float 类型转换成 int 类型。

例如,将一个指定日期转换为 Unix 时间戳:

import datetime

date = datetime.datetime(2022, 1, 1, 0, 0, 0)
timestamp = int(datetime.datetime.strftime(date, "%s"))
print(timestamp)

输出:

1640995200

将 Unix 时间戳转换为日期

与将日期转换为 Unix 时间戳类似,可以通过以下步骤将 Unix 时间戳转换为日期:

  1. 将 Unix 时间戳转换成 float 类型。
  2. 使用 datetime.datetime.fromtimestamp 函数将 float 类型的 Unix 时间戳转换成 datetime.datetime 类型的日期。

例如,将一个 Unix 时间戳转换为日期:

import datetime

timestamp = 1640995200
date = datetime.datetime.fromtimestamp(timestamp)
print(date)

输出:

2022-01-01 08:00:00

需要注意的是,Unix 时间戳表示的是 UTC 时间,因此需要根据时区进行转换。

结论

Python 中的 datetime 模块提供了十分方便的日期和时间处理方法。通过 strftime 函数,我们可以将日期转换为字符串;通过 fromtimestamp 函数,我们可以将 Unix 时间戳转换为日期。对于需要频繁进行日期处理的 Python 程序,掌握这些方法可以更高效地完成开发工作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程