如何在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 | 本地化的上午或下午表示 |
%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.strptime()函数对其进行格式化:
# 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日期和时间教程