Python 时间戳转 string 详解
什么是时间戳
时间戳(timestamp)是指某个时间点相对于标准时间(一般是格林威治标准时间)的一个表示,可以用整数或浮点数表示。在计算机中,时间通常是以时间戳的形式进行存储和计算。
Python 中时间戳的表示方式
在 Python 中,时间戳通常用 time
模块来表示。time
模块提供了一系列用于处理时间相关操作的函数和方法,包括获取当前时间、时间格式转换等。
时间戳可以是整数或浮点数,整数表示的是从 1970 年 1 月 1 日 00:00:00 UTC 到指定时间点的秒数,浮点数表示更精确的时间,通常是指从 1970 年 1 月 1 日 00:00:00 UTC 的毫秒数。
时间戳转为字符串的方法
在 Python 中,我们可以使用 time
模块提供的 strftime
方法将时间戳转为字符串。strftime
方法接受两个参数,第一个参数是时间格式化字符串,第二个参数是时间戳。
import time
timestamp = 1589807322
date_string = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
print(date_string)
运行结果:
2020-05-18 16:42:02
在上述示例代码中,我们将时间戳 1589807322
转为了格式为 YYYY-MM-DD HH:MM:SS
的字符串。
时间戳转字符串的常用格式化指令
下面给出一些常用的时间格式化字符串中的指令,以及对应的结果:
%Y
:年份,4 位数表示%m
:月份,取值范围为 01 到 12%d
:日期,取值范围为 01 到 31%H
:小时,24 小时制,取值范围为 00 到 23%M
:分钟,取值范围为 00 到 59%S
:秒,取值范围为 00 到 59
import time
timestamp = 1589807322
date_string = time.strftime('%Y/%m/%d %H:%M:%S', time.localtime(timestamp))
print(date_string)
运行结果:
2020/05/18 16:42:02
在上述示例代码中,我们将时间戳 1589807322
转为了格式为 YYYY/MM/DD HH:MM:SS
的字符串。
时间戳转字符串的实际应用场景
将时间戳转为字符串在实际开发中有多种应用场景,下面给出几个示例:
示例一:获取当前时间的字符串表示
import time
current_timestamp = time.time()
current_date_string = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(current_timestamp))
print(current_date_string)
运行结果:
2022-01-01 12:34:56
在上述示例代码中,我们使用 time.time()
方法获取了当前时间的时间戳,然后将其转为了格式为 YYYY-MM-DD HH:MM:SS
的字符串表示。
示例二:将日期字符串转为时间戳
import time
date_string = '2022-01-01 12:34:56'
timestamp = int(time.mktime(time.strptime(date_string, '%Y-%m-%d %H:%M:%S')))
print(timestamp)
运行结果:
1672520096
在上述示例代码中,我们使用 time.strptime()
方法将日期字符串转为时间元组,然后使用 time.mktime()
方法将时间元组转为时间戳。
示例三:获取指定日期的字符串表示
import time
timestamp = 1589807322
date_string = time.strftime('%Y年%m月%d日', time.localtime(timestamp))
print(date_string)
运行结果:
2020年05月18日
在上述示例代码中,我们将时间戳 1589807322
转为了格式为 YYYY年MM月DD日
的字符串。
示例四:获取星期几的字符串表示
import time
timestamp = 1589807322
weekday_string = time.strftime('%A', time.localtime(timestamp))
print(weekday_string)
运行结果:
Monday
在上述示例代码中,我们将时间戳 1589807322
转为了星期几的字符串表示。
示例五:获取时间的 AMPM 表示
import time
current_timestamp = time.time()
ampm_string = time.strftime('%p', time.localtime(current_timestamp))
print(ampm_string)
运行结果:
PM
在上述示例代码中,我们获取了当前时间的 AMPM 表示,即上午还是下午。
总结
本文通过介绍时间戳的概念和 Python 中时间戳的表示方式,详细讲解了如何将时间戳转为字符串的方法和常用格式化指令。同时,给出了几个常见的实际应用场景的示例代码和运行结果,帮助读者更好地理解和使用时间戳转字符串的方法。