欢迎访问宙启技术站
智能推送

Python中如何使用strftime()函数将时间戳转换为日期格式

发布时间:2023-06-14 15:06:10

在Python中,时间戳是表示时间的数字,它以秒为单位,并从Unix纪元(1970年1月1日00:00:00 UTC)开始计算。时间戳在Python中通常使用整数或浮点数表示,是与时区无关的标准时间。

strftime()函数是一个格式化日期和时间的方法,可以将时间戳转换为可读的日期格式。此函数采用两个参数:第一个参数是日期格式字符串,第二个参数是时间戳。日期格式字符串指定日期格式,例如“%Y-%m-%d %H:%M:%S”。

下面是一个strftime()函数的简单例子:

import time

timestamp = 1613372720 # March 16, 2021 20:52:00 UTC

date_str = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(timestamp))

print(date_str)

输出结果为:2021-02-16 20:52:00

在这个例子中,我们使用了gmtime()函数来将时间戳转换为UTC时间,然后使用strftime()来格式化日期和时间。

以下是Python strftime()函数常用的日期格式标识符:

| 标识符 | 描述 |

| ------ | ----------------------------------------------- |

| %Y | 四位数的年份,如:2021 |

| %m | 月份,01-12 |

| %d | 日期,01-31 |

| %H | 小时,00-23 |

| %M | 分钟,00-59 |

| %S | 秒,00-59 |

| %a | 缩写星期名,如:Sun |

| %A | 完整星期名,如:Sunday |

| %b | 缩写月份名,如:Jan |

| %B | 完整的月份名,如:January |

| %c | 本地日期和时间表示,如:Tue Aug 16 21:30:00 2022 |

| %p | AM或PM |

| %x | 本地日期表示,如:08/16/22 |

| %X | 本地时间表示,如:21:30:00 |

除了以上的标识符之外,还有一些特殊字符可以在格式字符串中使用:

| 字符 | 描述 |

| ---- | ----------------------------------------------------------- |

| % | 在格式字符串中插入百分号,例如:'%%Y' 将会输出 '%Y' 格式 |

| \t | 制表符 |

|

| 换行符 |

| \r | 回车符 |

| \xhh | 以十六进制字符 hh 表示的 ASCII 字符 |

下面是使用Python strftime()函数将当前时间戳转换为日期格式的例子:

import time

timestamp = time.time()

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

print(date_str)

输出结果为:2022-08-16 21:30:00

在这个例子中,我们使用了localtime()函数来将时间戳转换为本地时间,然后格式化日期和时间。

除了strftime()函数之外,Python还提供了strptime()函数,它可以将字符串解析为时间元组。strptime()函数也有两个参数:第一个参数是日期字符串,第二个参数是日期字符串的格式。

以下是Python strptime()函数常用的日期格式标识符:

| 标识符 | 描述 |

| ------ | -------------------------------------------- |

| %Y | 四位数的年份,如:2021 |

| %m | 月份,01-12 |

| %d | 日期,01-31 |

| %H | 小时,00-23 |

| %M | 分钟,00-59 |

| %S | 秒,00-59 |

| %j | 一年中的第几天,001-366 |

| %U | 一年中的第几周,以周日为一周的第一天,00-53 |

| %W | 一年中的第几周,以周一为一周的第一天,00-53 |

| %a | 缩写星期名,如:Sun |

| %A | 完整星期名,如:Sunday |

| %b | 缩写月份名,如:Jan |

| %B | 完整的月份名,如:January |

| %c | 本地日期和时间表示,如:Tue Aug 16 21:30:00 2022|

| %p | AM或PM |

下面是一个使用Python strptime()函数将日期字符串转换为时间戳的例子:

import time

date_str = '2022-08-16 21:30:00'

timestamp = time.mktime(time.strptime(date_str, '%Y-%m-%d %H:%M:%S'))

print(timestamp)

输出结果为:1668739800.0

在这个例子中,我们将日期字符串“2022-08-16 21:30:00”转换为时间戳,使用了mktime()函数将时间元组转换为时间戳。

总之, Python的strftime()函数是一个强大的日期格式化工具,可以将时间戳转换为不同的日期格式。而strptime()函数可以将日期字符串转换为时间戳,方便在程序中进行日期和时间的计算和操作。