📜  在python中将纪元转换为日期时间(1)

📅  最后修改于: 2023-12-03 15:23:26.772000             🧑  作者: Mango

在Python中将纪元转换为日期时间

在计算机编程中,时间通常以Unix时间戳或称为纪元(Epoch)的形式表示。Unix时间戳是从1970年1月1日00:00:00 UTC开始的秒数,这是计算机领域中广泛使用的日期和时间格式之一。

如果需要将Unix时间戳转换为日期时间格式,Python提供了许多内置模块和函数来完成此任务。以下是在Python中将纪元转换为日期时间的几种方法。

使用datetime模块

Python内置的datetime模块包含了一些可以将Unix时间戳转换为日期时间的函数。其中,fromtimestamp()函数可以将Unix时间戳转换为本地日期时间,示例代码如下:

import datetime

timestamp = 1629529287
datetime_obj = datetime.datetime.fromtimestamp(timestamp)

print(datetime_obj)

输出结果为:

2021-08-21 10:34:47

上述代码中,timestamp变量存储了Unix时间戳,fromtimestamp()函数将其转换为datetime对象,并将结果存储在datetime_obj变量中。

使用time模块

除了datetime模块,Python还提供了time模块,其中的strftime()函数可以将Unix时间戳格式化为字符串。以下是示例代码:

import time

timestamp = 1629529287
datetime_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))

print(datetime_str)

输出结果为:

2021-08-21 10:34:47

上述代码中,timestamp变量存储了Unix时间戳,localtime()函数将其转换为本地时间,并传递给strftime()函数进行格式化。'%Y-%m-%d %H:%M:%S'是格式化字符串,表示年份、月份、日期、小时、分钟和秒数。

使用第三方库

除了Python内置的模块,还有一些第三方库可以用于将Unix时间戳转换为日期时间。其中,arrowpendulum两个库相对常用。以下是这两个库的示例代码:

arrow
import arrow

timestamp = 1629529287
datetime_obj = arrow.get(timestamp).to('local')

print(datetime_obj)

输出结果为:

2021-08-21T10:34:47.000000-06:00

arrow库提供了get()函数可以将Unix时间戳转换为arrow对象,并使用to()函数设置时间格式。

pendulum
import pendulum

timestamp = 1629529287
datetime_obj = pendulum.from_timestamp(timestamp).to_datetime_string()

print(datetime_obj)

输出结果为:

2021-08-21 10:34:47

pendulum库提供了from_timestamp()函数将Unix时间戳转换为pendulum对象,并使用to_datetime_string()函数将日期时间格式化为字符串。

小结

在Python中将Unix时间戳转换为日期时间可以使用内置的datetimetime模块,也可以使用第三方库,如arrowpendulum。这里只列举了几种常见的方法,读者可以根据项目需求选择适合自己的方法。