📜  时间戳到日期时间直到毫秒 python (1)

📅  最后修改于: 2023-12-03 15:26:18.932000             🧑  作者: Mango

时间戳到日期时间直到毫秒 python

在编程中,我们经常需要将时间戳(一个表示时间的数字)转换为日期时间格式。在Python中,我们可以使用datetime模块中的函数来实现这个功能,并且可以将其转化为精确到毫秒的日期时间。

将时间戳转化为日期时间

首先,我们需要导入datetime模块,并使用fromtimestamp()函数将时间戳转换为Python的datetime对象。下面是一个示例代码:

import datetime

timestamp = 1627997617  # Unix时间戳,表示2021年8月3日13:33:37
dt_object = datetime.datetime.fromtimestamp(timestamp)

print("dt_object =", dt_object)
print("type(dt_object) =", type(dt_object))

输出:

dt_object = 2021-08-03 13:33:37
type(dt_object) = <class 'datetime.datetime'>

我们可以看到,fromtimestamp()函数返回一个datetime对象,并且其类型为datetime.datetime。

将日期时间格式化为字符串

我们可以使用strftime()函数将日期时间格式化为字符串。下面是一个示例代码:

dt_string = dt_object.strftime("%Y-%m-%d %H:%M:%S.%f")

print("dt_string =", dt_string)
print("type(dt_string) =", type(dt_string))

输出:

dt_string = 2021-08-03 13:33:37.000000
type(dt_string) = <class 'str'>

我们可以看到,strftime()函数将datetime对象格式化为一个字符串,并返回该字符串。

在上面的示例代码中,我们使用了"%Y-%m-%d %H:%M:%S.%f"格式化字符串,其中:

  • %Y表示年份
  • %m表示月份(01-12)
  • %d表示日期(01-31)
  • %H表示小时(00-23)
  • %M表示分钟(00-59)
  • %S表示秒(00-59)
  • %f表示微秒(000000-999999)
精确到毫秒的日期时间格式化

如果我们想要将日期时间格式化为精确到毫秒的字符串,我们可以使用"%Y-%m-%d %H:%M:%S.%f"格式化字符串的变体"%Y-%m-%d %H:%M:%S.%f%z",其中%z表示时区信息。下面是一个示例代码:

import datetime

timestamp = 1627997617  # Unix时间戳,表示2021年8月3日13:33:37
dt_object = datetime.datetime.fromtimestamp(timestamp)

dt_string = dt_object.strftime("%Y-%m-%d %H:%M:%S.%f%z")

print("dt_string =", dt_string)
print("type(dt_string) =", type(dt_string))

输出:

dt_string = 2021-08-03 13:33:37.000000+0800
type(dt_string) = <class 'str'>

我们可以看到,dt_string字符串精确到毫秒,并带有时区信息。

总结

这里我们介绍了如何将时间戳转换为日期时间格式,并如何精确到毫秒地将日期时间格式化为字符串。代码如下:

import datetime

timestamp = 1627997617  # Unix时间戳,表示2021年8月3日13:33:37
dt_object = datetime.datetime.fromtimestamp(timestamp)
dt_string = dt_object.strftime("%Y-%m-%d %H:%M:%S.%f%z")

print("dt_object =", dt_object)
print("type(dt_object) =", type(dt_object))
print("dt_string =", dt_string)
print("type(dt_string) =", type(dt_string))

输出:

dt_object = 2021-08-03 13:33:37
type(dt_object) = <class 'datetime.datetime'>
dt_string = 2021-08-03 13:33:37.000000+0800
type(dt_string) = <class 'str'>

以上就是本篇文章关于如何将时间戳转换为日期时间格式,并精确到毫秒地将日期时间格式化为字符串的介绍,希望对大家有所帮助。