欢迎访问宙启技术站
智能推送

如何在Python中获取当前时间并转换为特定格式?

发布时间:2023-06-13 07:40:19

在Python中获取当前时间并转换为特定格式非常简单。Python内置了datetime模块,可以用它来实现时间的获取和转换。下面介绍几种获取当前时间并转换格式的方法:

方法一:使用datetime.now()获取当前时间

datetime.now()会返回一个表示当前时间的datetime对象,可以通过调用datetime对象的strftime()方法将时间转换为特定格式,例如:

import datetime

now = datetime.datetime.now()
print(now.strftime('%Y-%m-%d %H:%M:%S'))

上面的代码会输出类似于'2022-12-01 09:30:00'的字符串,表示当前时间的年月日时分秒以特定格式展示。

strftime()方法的参数定义了输出的时间格式。比如,'%Y'会输出四位数的当前年份,'%m'会输出当前月份的数字表示,'%d'会输出当前日期的数字表示,'%H'会输出当前小时数的24小时制表示,'%M'会输出当前分钟数的数字表示,'%S'会输出当前秒数的数字表示。

方法二:使用time.time()获取当前时间戳

time.time()会返回自1970年1月1日以来的秒数的浮点数表示,可以将其转换为datetime对象,再使用strftime()方法转换为特定格式的时间字符串。

import datetime
import time

now_timestamp = time.time()
now_datetime = datetime.datetime.fromtimestamp(now_timestamp)
print(now_datetime.strftime('%Y-%m-%d %H:%M:%S'))

上面的代码会输出与方法一相同的结果。

方法三:使用time.localtime()获取本地时间

time.localtime()会返回一个包含本地时间的struct_time对象,可以通过访问struct_time对象的各个属性来获取年月日时分秒等信息。同样,也可以将struct_time对象转换为datetime对象,并使用strftime()方法将其转换为特定格式的时间字符串。例如:

import datetime
import time

now_struct_time = time.localtime()
now_datetime = datetime.datetime.fromtimestamp(time.mktime(now_struct_time))
print(now_datetime.strftime('%Y-%m-%d %H:%M:%S'))

上面的代码同样会输出与方法一相同的结果。

需要注意的是,方法二和方法三都是获取本地时间的方法,而方法一可以获取任意时区的时间。

最后,除了strftime()方法,datetime对象还有很多其他方法可以使用,例如replace()方法可以修改datetime对象的各个部分,timedelta()方法可以计算两个datetime对象之间的时间差等。对于常见的操作,可以查阅datetime模块的官方文档来获得更多信息。