您的位置:

用Python获取当前时间

一、Python获取当前时间的基础函数

Python的标准库中datetime模块中包含了一个用于处理日期和时间的类datetime,其中的datetime类可以获取当前的日期和时间,代码如下:

from datetime import datetime

# 获取当前时间
now = datetime.now()
print(now)

上述代码中,我们通过from语句导入了datetime模块中的datetime类,然后使用now()函数获取了当前时间,最后将结果打印到屏幕上。执行上述代码所得到的结果为:

2019-11-04 16:08:19.740393

这里我们需要注意的是,当前时间的精确度达到了微秒级别。

二、时间格式化

有时候我们需要以特定的格式输出当前时间,如'2019-11-04 16:08:19',这就需要我们将datetime对象进行格式化。datetime对象的strftime()函数可以将时间对象转换成指定格式的字符串,代码如下:

from datetime import datetime

# 获取当前时间
now = datetime.now()

# 格式化输出
print(now.strftime("%Y-%m-%d %H:%M:%S"))

上述代码中,strftime()函数的参数中,'Y'表示年份,'m'表示月份,'d'表示日期,'H'表示小时数(24小时制),'M'表示分钟,'S'表示秒数。执行上述代码所得到的结果为:

2019-11-04 16:08:19

我们还可以使用其他格式化方式创建自定义的时间格式。

三、时区转换

在处理时间时,经常需要进行时区转换。通过pytz库,可以很方便地实现时区转换。

比如,我们需要将中国标准时间转换成美国东部标准时间,代码如下:

import pytz
from datetime import datetime

# 获取当前时间
now = datetime.now()

# 转换时区
china_tz = pytz.timezone('Asia/Shanghai')
eastern_tz = pytz.timezone('US/Eastern')
china_time = china_tz.localize(now)
eastern_time = china_time.astimezone(eastern_tz)

# 格式化输出
print(eastern_time.strftime("%Y-%m-%d %H:%M:%S %Z%z"))

上述代码中,我们使用pytz库将当前时间的时区转换为中国标准时间,然后再将其转换为美国东部标准时间。在输出时,我们使用了%Z和%z两个参数分别表示时区的名称和偏移量。执行上述代码所得到的结果为:

2019-11-04 03:58:35 EST-0500

四、时间计算

Python中可以很方便地进行时间计算,使用timedelta函数可以进行加减操作。

比如,我们可以在当前时间的基础上增加1个小时和20分钟的时间间隔,代码如下:

from datetime import datetime, timedelta

# 获取当前时间
now = datetime.now()

# 计算时间差
delta = timedelta(hours=1, minutes=20)

# 计算计算后的时间
new_time = now + delta

# 格式化输出
print(new_time.strftime("%Y-%m-%d %H:%M:%S"))

上述代码中,我们使用timedelta函数定义一个时间间隔,然后使用+运算符将其与当前时间进行相加,从而得到计算后的时间。执行上述代码所得到的结果为:

2019-11-04 17:29:27

五、总结

本篇文章详细介绍了Python中获取当前时间的方法,并且对其中的一些常见应用场景进行了介绍。除此之外,还有很多时间处理的技巧和函数,读者可以继续深入学习。