如何在Python中将时间戳字符串转换为datetime对象?


在本文中,我们将向您展示如何在Python中将时间戳字符串转换为DateTime对象。以下是完成此任务的各种方法:

  • 使用datetime.fromtimestamp()函数

  • 使用datetime.fromtimestamp() & strftime

  • 使用datetime.strptime()

  • 将时间戳转换为具有混合文本的格式代码的日期时间对象

使用datetime.fromtimestamp()函数

要从UNIX时间戳获取日期,请使用datetime模块的fromtimestamp()函数。此函数接受时间戳作为输入,并返回与该时间戳对应的datetime对象。

语法

fromtimestamp(timestamp, tz=None)

算法(步骤)

以下是执行所需任务的算法/步骤

  • 使用import关键字从datetime模块导入datetime

  • 创建一个变量来存储输入时间戳字符串

  • 使用datetime.fromtimestamp()函数将输入时间戳转换为datetime对象。

  • 打印结果datetime对象。

  • 使用type()函数(返回对象的數據類型)来打印结果datetime对象的类型。

示例

以下程序使用datetime.fromtimestamp()函数将时间戳转换为datetime对象:

# importing datetime from datetime module from datetime import datetime # input timestamp timestamp_string = 1345612072 # Converting timestamp to DateTime object datetime_object = datetime.fromtimestamp(timestamp_string) # printing resultant datetime object print("Resultant datetime object:",datetime_object) # printing the type of resultant datetime object print("Type of datetime object:",type(datetime_object))

输出

执行上述程序后,将生成以下输出:

Resultant datetime object: 2012-08-22 05:07:52
Type of datetime object: 

使用datetime.fromtimestamp() & strftime

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 使用datetime.fromtimestamp()函数将时间戳字符串转换为datetime对象,并使用strftime()方法(根据格式代码返回表示datetime对象的字符串)对其进行格式化。

strftime(format)
  • 打印结果DateTime对象。

示例

以下程序使用datetime.fromtimestamp()函数将时间戳转换为datetime对象,并使用strftime对其进行格式化:

# importing datetime from datetime module from datetime import datetime # input timestamp timestamp_string = 1345612072 # Converting timestamp string to datetime object and formatting it datetime_object = datetime.fromtimestamp(timestamp_string).strftime('%d-%m-%y') # printing resultant datetime object print("Resultant datetime object:",datetime_object) # printing the type of resultant datetime object print("Type of datetime object:", type(datetime_object))

输出

执行上述程序后,将生成以下输出:

Resultant datetime object: 22-08-12
Type of datetime object: <class 'str'>

strftime函数()

strftime()函数返回格式化的日期和时间。它接受一个格式字符串,您可以使用它来获得所需的结果。以下是它支持的指令。

指令 含义
%a 本地简写星期名称
%A 本地完整星期名称
%b 本地简写月份名称。
%B 本地完整月份名称。
%c 本地合适的日期和时间表示。
%d 月份中的日期,以十进制数字表示 [01,31]。
%H 小时(24小时制),以十进制数字表示 [00,23]。
%I 小时(12小时制),以十进制数字表示 [01,12]。
%m 月份,以十进制数字表示 [01,12]。
%M 分钟,以十进制数字表示 [00,59]。
%p 本地等效于AM或PM。
%S 秒,以十进制数字表示 [00,61]。
%U 一年中的星期数(星期日为一周的第一天),以十进制数字表示 [00,53]。新年之前的所有日子都被认为是在第0周。
%w 星期几,以十进制数字表示 [0(星期日),6]。
%W 一年中的星期数(星期一为一周的第一天),以十进制数字表示 [00,53]。新年之前的所有日子都被认为是在第0周。
%x 本地合适的日期表示。
%X 本地合适的時間表示。
%y 不带世纪的年份,以十进制数字表示 [00,99]。
%Y 带世纪的年份,以十进制数字表示。
%Z 时区名称(如果不存在时区,则无字符)。
%% 文字 "%" 字符。

使用datetime.strptime()

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 创建一个变量来存储格式。

  • 使用datetime.strptime()函数(将字符串格式的时间戳格式化为日期时间对象)通过将输入时间戳和格式作为参数传递给它来将时间戳转换为datetime对象。

  • 打印结果datetime对象。

示例

以下程序使用datetime.strptime()函数将时间戳转换为datetime对象并对其进行格式化:

# importing datetime from datetime module from datetime import datetime # input timestamp string timestamp_string = '2013-06-09T11::12::40.356237' # input format format = '%Y-%m-%dT%H::%M::%S.%f' # converting the timestamp string to datetime object datetime_object = datetime.strptime(timestamp_string, format) # printing the resultant datetime object print(datetime_object) # printing the type of resultant datetime object print(type(datetime_object))

输出

执行上述程序后,将生成以下输出:

2013-06-09 11:12:40.356237
<class 'datetime.datetime'>

将时间戳转换为具有混合文本的格式代码的日期时间对象

示例

以下程序将输入混合文本字符串中的时间戳转换为日期时间对象,并使用datetime.strptime()函数对其进行格式化:

# importing datetime from datetime module from datetime import datetime # input text string textString = "I was born on March 14th 2020 at 4 PM" # Converting timestamp in the input mixed text string to # datetime object and formatting it datetime_object = datetime.strptime(textString, 'I was born on %B %dth %Y at %I %p') # printing resultant datetime object print("Resultant datetime object:",datetime_object) # printing the type of resultant datetime object print("Type of datetime object:", type(datetime_object))

输出

执行上述程序后,将生成以下输出:

Resultant datetime object: 2020-03-14 16:00:00
Type of datetime object: <class 'datetime.datetime'>

结论

在本文中,我们学习了几种在Python中将给定的时间戳转换为DateTime对象的方法。我们还学习了如何将包含混合文本的时间戳转换为DateTime对象。

相关教程:Python教程Python日期和时间教程

更新于:2023年8月27日

22K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始
广告