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

Python时间函数详解,时间日期如何处理?

发布时间:2023-06-20 15:00:11

Python提供了丰富的时间函数,用于处理时间日期的各种操作和格式化,下面就来详细介绍一下Python的时间函数。

1. 时间戳

时间戳是一个浮点数,表示从1970年1月1日00:00:00开始经过的秒数,可以使用time模块的time()函数获取当前的时间戳,例如:

import time

timestamp = time.time()
print(timestamp)

输出结果为:1626988841.3096018

2. 结构化时间

结构化时间是一个包含九个元素的元组,元素分别为:年、月、日、时、分、秒、一周的第几日、一年的第几日、夏令时。可以使用time模块的localtime()函数获取当前的结构化时间,例如:

import time

struct_time = time.localtime()
print(struct_time)

输出结果为:time.struct_time(tm_year=2021, tm_mon=7, tm_mday=22, tm_hour=10, tm_min=14, tm_sec=23, tm_wday=3, tm_yday=203, tm_isdst=0)

3. 格式化时间

格式化时间是指将结构化时间转化为指定格式的时间字符串,可以使用time模块的strftime()函数实现。strftime()函数的 个参数为格式化字符串,通过该字符串可以定义输出的时间格式,例如:

import time

struct_time = time.localtime()
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", struct_time)
print(formatted_time)

输出结果为:2021-07-22 10:19:37

除了time模块外,Python还提供了datetime模块,该模块也提供了丰富的时间函数。datetime模块中最常用的两个类是datetime和timedelta。

4. datetime类

datetime类表示一个日期和时间的组合,该类的构造函数如下:

datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])

其中,year表示年份(四位数),month表示月份,day表示日期,hour表示小时(24小时制),minute表示分钟,second表示秒,microsecond表示微秒,tzinfo表示时区信息(可以不指定)。

例如,可以使用datetime模块构造当前时间的datetime对象,实现代码如下:

import datetime

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

输出结果为:2021-07-22 10:30:38.835194

也可以指定一个日期和时间来构造datetime对象,例如:

import datetime

dt = datetime.datetime(2021, 7, 22, 10, 30, 38)
print(dt)

输出结果为:2021-07-22 10:30:38

5. timedelta类

timedelta类表示两个日期或时间之间的差值,该类的构造函数如下:

timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

其中,days表示天数,seconds表示秒数,microseconds表示微秒数,milliseconds表示毫秒数,minutes表示分钟数,hours表示小时数,weeks表示周数(可以不指定)。

例如,可以使用timedelta计算两个日期之间的差值,实现代码如下:

import datetime

d1 = datetime.date(2021, 7, 20)
d2 = datetime.date(2021, 7, 22)
delta = d2 - d1
print(delta.days)

输出结果为:2

综上所述,Python提供了丰富的时间函数,可以实现各种时间日期相关的操作和格式化。同时,Python还提供了datetime和timedelta类,方便地处理日期和时间的差值和组合。