Python中的时间函数及其用法
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中常用的时间函数,包括获取当前时间、格式化时间、时间戳转换和时间差计算等。这些函数可以帮助我们方便地对时间进行处理和计算。
