如何在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日期和时间教程