Python字符串时间转换成时间戳

在Python中,我们经常需要在不同的时间格式之间进行转换。其中,将字符串时间转换成时间戳是一种常见的需求。时间戳是指从某个特定时间(通常是1970年1月1日00:00:00)开始计算的秒数。本文将介绍如何使用Python将字符串时间转换成时间戳,并提供相应的代码示例。

什么是时间戳?

时间戳是一种用来表示时间的数字,它通常是从一个特定的起点开始计算的秒数。在计算机系统中,时间戳通常使用整数或浮点数来表示。常见的时间戳起点是1970年1月1日00:00:00,也被称为UNIX时间戳。

时间戳可以用于在不同的时间表示之间进行转换,如字符串时间、日期时间对象和整数时间等。其中,将字符串时间转换成时间戳是一个常见的操作。

Python中的时间戳转换

在Python中,我们可以使用datetime模块来进行字符串时间和时间戳之间的转换。datetime模块提供了一个datetime类,用于表示日期和时间。该类具有许多方法和属性,可以方便地进行时间转换操作。

字符串时间转换成时间戳

要将字符串时间转换成时间戳,我们首先需要将字符串时间解析为一个datetime对象,然后再将该对象转换成时间戳。在Python中,可以使用datetime模块的strptime()函数来解析字符串时间,再使用timestamp()方法将datetime对象转换成时间戳。

以下是一个示例代码:

import datetime

str_time = "2021-05-20 12:30:45"
datetime_obj = datetime.datetime.strptime(str_time, "%Y-%m-%d %H:%M:%S")
timestamp = datetime_obj.timestamp()

print("字符串时间:", str_time)
print("时间戳:", timestamp)

上述代码中,首先定义了一个字符串时间str_time,表示为"2021-05-20 12:30:45"。然后,使用strptime()函数将该字符串时间解析为一个datetime对象datetime_obj,其中"%Y-%m-%d %H:%M:%S"是解析格式字符串,与字符串时间的格式相对应。最后,使用timestamp()方法将datetime_obj转换成时间戳timestamp

运行上述代码,将输出以下结果:

字符串时间: 2021-05-20 12:30:45
时间戳: 1621497045.0

时间戳转换成字符串时间

如果要将时间戳转换成字符串时间,可以使用datetime模块的fromtimestamp()方法将时间戳转换成一个datetime对象,然后再使用strftime()方法将该对象格式化为字符串时间。

以下是一个示例代码:

import datetime

timestamp = 1621497045.0
datetime_obj = datetime.datetime.fromtimestamp(timestamp)
str_time = datetime_obj.strftime("%Y-%m-%d %H:%M:%S")

print("时间戳:", timestamp)
print("字符串时间:", str_time)

上述代码中,首先定义了一个时间戳timestamp,值为1621497045.0。然后,使用fromtimestamp()方法将时间戳转换成一个datetime对象datetime_obj。最后,使用strftime()方法将datetime_obj格式化为字符串时间str_time,其中"%Y-%m-%d %H:%M:%S"是格式化字符串,用于指定输出字符串的格式。

运行上述代码,将输出以下结果:

时间戳: 1621497045.0
字符串时间: 2021-05-20 12:30:45

甘特图

下面是一个使用甘特图展示的时间转换过程的示例:

gantt
    dateFormat  YYYY-MM-DD HH:mm:ss
    title Python字符串时间转换成时间戳

    section 字符串时间转换成时间戳
    解析字符串时间             : a1, 2021-05-20 12:30:45, 2021-05-20 12:31:00
    转换成datetime对象         : a2, 2021-05-20 12:31:00, 2021-05-20 12:31:15
    转换成时间戳               : a3, 2021-05-