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

Python中的时间函数及其用法

发布时间:2023-06-08 05:14:23

Python中有许多关于时间的函数,包括获取当前时间、格式化时间、时间戳转换等,本文将详细介绍这些函数及其用法。

1. 获取当前时间

要获取当前时间,可以使用Python中的datetime模块。datetime模块中的now()函数可以获取当前时间,示例代码如下:

import datetime

now = datetime.datetime.now()
print(now)

输出:

2021-11-23 11:45:22.229941

2. 格式化时间

将时间对象格式化成指定的字符串,可以使用strftime()函数。strftime()函数需要指定一个格式化字符串,字符串中出现的特定字符会根据时间对象的值被替换成相应的数值。下面是一些常用的格式化字符:

- %Y:年份(4位数字)

- %m:月份(2位数字)

- %d:日期(2位数字)

- %H:小时(24小时制,2位数字)

- %M:分钟(2位数字)

- %S:秒钟(2位数字)

示例代码如下:

import datetime

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

输出:

2021-11-23 11:45:22

3. 时间戳转换

时间戳是指从UTC(协调世界时)1970年1月1日 00:00:00开始的秒数,通常用于记录某个时间点相对于该基准时间的时间差。在Python中,可以使用time模块中的gmtime()函数将时间戳转换为一个时间元组。示例代码如下:

import time

timestamp = 1637657122
time_tuple = time.gmtime(timestamp)
print(time_tuple)

输出:

time.struct_time(tm_year=2021, tm_mon=11, tm_mday=23, tm_hour=3, tm_min=25, tm_sec=22, tm_wday=1, tm_yday=327, tm_isdst=0)

将时间元组转换为时间戳,可以使用mktime()函数。示例代码如下:

import time

time_tuple = (2021, 11, 23, 3, 25, 22, 1, 327, 0)
timestamp = time.mktime(time_tuple)
print(timestamp)

输出:

1637657122.0

4. 时间差计算

在Python中,可以使用datetime模块中的timedelta类来计算时间差。timedelta类的初始化函数接受多个参数,最常用的是days、seconds和microseconds。示例代码如下:

import datetime

start_time = datetime.datetime(2021, 11, 1, 0, 0, 0)
end_time = datetime.datetime(2021, 11, 23, 11, 45, 22)

time_diff = end_time - start_time
print(time_diff.days)
print(time_diff.seconds)

输出:

22
42322

其中,time_diff.days表示时间差的天数,time_diff.seconds表示时间差的秒数(不包括天数)。

通过timedelta,还可以对时间进行加减运算。示例代码如下:

import datetime

now = datetime.datetime.now()
one_day = datetime.timedelta(days=1)
yesterday = now - one_day
tomorrow = now + one_day

print(now)
print(yesterday)
print(tomorrow)

输出:

2021-11-23 11:45:22.229941
2021-11-22 11:45:22.229941
2021-11-24 11:45:22.229941

本文介绍了Python中常用的时间函数,包括获取当前时间、格式化时间、时间戳转换和时间差计算等。这些函数可以帮助我们方便地对时间进行处理和计算。