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

Python中如何进行日期和时间的处理?

发布时间:2023-06-18 01:29:10

在 Python 中,我们可以使用 datetime 模块来进行日期和时间的处理。datetime 模块提供了多个类来处理日期和时间,包括 datetime、date、time、timedelta 等。

1. datetime 类

datetime 类表示日期和时间的组合。它有 year、month、day、hour、minute、second、microsecond 七个属性,分别表示年、月、日、时、分、秒、微秒。

创建 datetime 对象的方式有多种:

①使用 datetime.now() 或 datetime.utcnow() 方法获取当前日期和时间。

import datetime

now = datetime.datetime.now()  # 获取当前日期和时间
utcnow = datetime.datetime.utcnow()  # 获取当前 UTC 时间

print(now)
print(utcnow)

输出:

2021-12-12 15:26:24.536716
2021-12-12 07:26:24.536828

②使用 datetime(year, month, day, [hour, minute, second, microsecond]) 构造函数来创建 datetime 对象。

import datetime

dt1 = datetime.datetime(2021, 12, 12)
dt2 = datetime.datetime(2021, 12, 12, 15, 30, 0)

print(dt1)
print(dt2)

输出:

2021-12-12 00:00:00
2021-12-12 15:30:00

datetime 对象还提供了多种方法来操作日期和时间,例如获取时间戳、格式化输出等。

import datetime

dt = datetime.datetime(2021, 12, 12, 15, 30, 0)

timestamp = dt.timestamp()  # 获取时间戳
print(timestamp)

str = dt.strftime('%Y-%m-%d %H:%M:%S')  # 格式化输出
print(str)

输出:

1639305000.0
2021-12-12 15:30:00

2. date 类

date 类表示日期,它有 year、month、day 三个属性。

创建 date 对象的方式和 datetime 类似:

①使用 date.today() 方法获取当前日期。

import datetime

today = datetime.date.today()  # 获取当前日期

print(today)

输出:

2021-12-12

②使用 date(year, month, day) 构造函数来创建 date 对象。

import datetime

d = datetime.date(2021, 12, 12)

print(d)

输出:

2021-12-12

date 对象也提供了多种方法来操作日期,例如获取周几、替换年月日等。

import datetime

d = datetime.date(2021, 12, 12)

weekday = d.weekday()  # 获取周几,返回 0-6,分别表示周一到周日
print(weekday)

d2 = d.replace(year=2020)  # 替换年月日
print(d2)

输出:

6
2020-12-12

3. time 类

time 类表示时间,它有 hour、minute、second、microsecond 四个属性。

创建 time 对象的方式和 datetime 类似:

①使用 time(hour, minute, second, [microsecond]) 构造函数来创建 time 对象。

import datetime

t = datetime.time(15, 30, 0)

print(t)

输出:

15:30:00

time 对象提供了多种方法来操作时间,例如比较时间、格式化输出等。

import datetime

t1 = datetime.time(15, 30, 0)
t2 = datetime.time(16, 30, 0)

result = t1 < t2  # 比较时间
print(result)

str = t1.strftime('%H:%M:%S')  # 格式化输出
print(str)

输出:

True
15:30:00

4. timedelta 类

timedelta 类表示两个日期或时间之间的差值。它可以用来计算日期或时间的加减。

创建 timedelta 对象的方式:

①使用 datetime.timedelta(days, [seconds, microseconds, milliseconds, minutes, hours, weeks]) 构造函数来创建 timedelta 对象。

import datetime

td1 = datetime.timedelta(days=1)  # 一天的时间差
td2 = datetime.timedelta(hours=1)  # 一小时的时间差

now = datetime.datetime.now()
tomorrow = now + td1  # 计算明天的日期
one_hour_later = now + td2  # 计算一小时后的时间

print(tomorrow)
print(one_hour_later)

输出:

2021-12-13 15:26:24.536716
2021-12-12 16:26:24.536716

timedelta 对象还可以和 datetime 对象进行运算,例如计算两个日期之间的天数、小时数等。

import datetime

dt1 = datetime.datetime(2021, 12, 12)
dt2 = datetime.datetime(2021, 12, 14)

td = dt2 - dt1  # 计算日期差

days = td.days  # 获取天数
seconds = td.seconds  # 获取秒数
total_seconds = td.total_seconds()  # 获取总秒数

print(days, seconds, total_seconds)

输出:

2 0 172800.0

以上就是 Python 中进行日期和时间处理的基本方法和技巧,掌握这些知识可以让我们更加高效地进行日期和时间的操作。