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 模块](