如何以'2022-12-01T09:13:45Z'这种格式获取时间?

8 浏览
0 Comments

如何以'2022-12-01T09:13:45Z'这种格式获取时间?

from datetime import datetime
import pytz
# 将本地时间转换为ISO格式时间
iso_date = datetime.now().replace(microsecond=0).isoformat()
print('ISO格式时间:', iso_date)

这不给我想要的格式

2022-05-18T13:43:13

我想要的时间格式是 '2022-12-01T09:13:45Z'

0
0 Comments

问题的原因是想要将时间转换成'2022-12-01T09:13:45Z'这种格式,但是使用datetime.now()不能得到UTC时间。为了解决这个问题,可以使用datetime库中的strftime函数来格式化时间,并将其转换成所需的格式。

下面是解决这个问题的代码示例:

import datetime
# 获取当前的UTC时间
current_datetime = datetime.datetime.utcnow().replace(microsecond=0)
# 格式化时间并输出
print(f'ISO Datetime: {current_datetime.strftime("%Y-%m-%dT%H:%M:%SZ")}')

这段代码首先导入了datetime库,并使用utcnow()函数获取当前的UTC时间。然后,使用replace()函数将微秒设置为0,以避免在格式化时包含微秒部分。最后,使用strftime()函数将时间格式化成'2022-12-01T09:13:45Z'的形式,并将结果输出。

通过以上代码,就可以得到所需的时间格式'2022-12-01T09:13:45Z'。

0
0 Comments

问题的原因是用户想要将时间格式转换为Zulu时间格式(2022-12-01T09:13:45Z)。解决方法是使用Python的datetime库来转换时间格式。

第一个示例代码使用datetime库将当前时间转换为UTC时间,并输出结果。

import datetime
now = datetime.datetime.now(datetime.timezone.utc)
print(now)

输出结果为:

2022-12-01 10:07:06.552326+00:00

第二个示例代码是一种"hack"的方法,它先将当前时间转换为UTC时间,然后使用strftime函数按照指定的格式进行格式化,并在末尾添加上Z表示Zulu时间。

import datetime
now = datetime.datetime.now(datetime.timezone.utc)
now = now.strftime('%Y-%m-%dT%H:%M:%S')+ now.strftime('.%f')[:4]  + 'Z'
print(now)

输出结果为:

2022-12-01T10:06:41.122Z

希望这些内容对您有所帮助,祝您编程愉快 🙂

请注意,不要将字符串作为时区加入Z。这是一种hack的方法。请按照正确的方式使用时区感知日期。

0