Python 时间字符串转13位时间戳
在日常的编程开发中,经常会遇到将时间字符串转换为13位时间戳的需求。Python是一种功能强大且简单易用的编程语言,它提供了多种方法来处理时间和日期。本文将介绍如何使用Python将时间字符串转换为13位时间戳,并提供相应的代码示例。
时间字符串和时间戳的概念
在开始介绍具体的代码实现之前,我们先来了解一下时间字符串和时间戳的概念。
- 时间字符串:时间字符串是一种以特定格式表示的时间信息。例如,
"2022-01-01 12:00:00"
就是一个时间字符串,它表示了2022年1月1日12时0分0秒的时间。 - 时间戳:时间戳是指从某个固定的起始时间点开始计算,到某个特定时间点之间的总秒数。在Unix和类Unix系统中,时间戳通常是一个整数,以秒为单位计算。而13位时间戳则是指将秒数后面补上3个0,表示毫秒级别的时间戳。
时间字符串转13位时间戳的方法一:time模块
Python内置的time模块提供了处理时间和日期的相关功能。其中,time.mktime()
函数可以将时间元组(struct_time)转换为时间戳,而time.strptime()
函数则可以将时间字符串转换为时间元组。下面是一个将时间字符串转换为13位时间戳的示例代码:
import time
def str_to_timestamp(time_str):
time_tuple = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
timestamp = int(time.mktime(time_tuple)) * 1000
return timestamp
time_str = "2022-01-01 12:00:00"
timestamp = str_to_timestamp(time_str)
print(timestamp)
在这个示例中,我们首先调用time.strptime()
函数将时间字符串转换为时间元组,其中第一个参数是时间字符串,第二个参数是时间字符串的格式。%Y
表示年份,%m
表示月份,%d
表示日期,%H
表示小时,%M
表示分钟,%S
表示秒钟。接着,我们使用time.mktime()
函数将时间元组转换为时间戳,然后将秒数后面添加3个0,得到13位时间戳。
时间字符串转13位时间戳的方法二:datetime模块
Python的datetime模块也提供了处理时间和日期的相关功能。其中,datetime.strptime()
函数可以将时间字符串转换为datetime对象,而datetime.timestamp()
方法则可以将datetime对象转换为时间戳。下面是使用datetime模块将时间字符串转换为13位时间戳的示例代码:
from datetime import datetime
def str_to_timestamp(time_str):
dt = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")
timestamp = int(dt.timestamp()) * 1000
return timestamp
time_str = "2022-01-01 12:00:00"
timestamp = str_to_timestamp(time_str)
print(timestamp)
在这个示例中,我们首先调用datetime.strptime()
函数将时间字符串转换为datetime对象。与上面的示例相比,这里我们使用了from datetime import datetime
语句来导入datetime模块。然后,我们使用datetime.timestamp()
方法将datetime对象转换为时间戳,再将秒数后面添加3个0,得到13位时间戳。
总结
本文介绍了两种将时间字符串转换为13位时间戳的方法,分别使用了time模块和datetime模块。在实际应用中,可以根据具体的需求选择适合的方法。以上就是本文的全部内容,希望对你理解Python中时间字符串转13位时间戳的方法有所帮助。
参考资料
- [Python time 模块](
- [Python datetime 模块](