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

如何使用Python的datetime库处理日期和时间 - 10个函数指导

发布时间:2023-05-29 01:45:20

Python的datetime库是一个非常方便的工具,可用于处理日期和时间。在本文中,我们将介绍10个datetime库的常用函数,并提供示例代码来演示其用法。

1. datetime.now()

datetime.now()函数返回当前日期和时间的datetime对象。该函数不带任何参数,它取决于系统时钟。

import datetime

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

输出:

2022-03-29 08:30:23.004737

2. datetime.date()

datetime.date()函数返回具有指定年份,月份和日期的日期对象。它接受三个必需的参数–年份,月份和日期。

import datetime

date_obj = datetime.date(2022, 3, 29)
print(date_obj)

输出:

2022-03-29

3. datetime.time()

datetime.time()函数返回具有指定小时,分钟,秒和微秒的时间对象。它接受四个必需的参数–小时,分钟,秒和微秒。

import datetime

time_obj = datetime.time(8, 30, 23, 123456)
print(time_obj)

输出:

08:30:23.123456

4. datetime.strptime()

datetime.strptime()函数用于将字符串转换为datetime对象。它接受两个参数–字符串和格式字符串。字符串是待转换的日期时间字符串,格式字符串指定日期时间格式。

import datetime

date_str = '2022-03-29'
format_str = '%Y-%m-%d'
date_obj = datetime.datetime.strptime(date_str, format_str)

print(date_obj)

输出:

2022-03-29 00:00:00

5. datetime.strftime()

datetime.strftime()函数用于将datetime对象转换为字符串。它接受两个参数–datetime对象和格式字符串。格式字符串指定日期时间格式。

import datetime

now = datetime.datetime.now()
format_str = '%Y-%m-%d %H:%M:%S'

date_str = now.strftime(format_str)
print(date_str)

输出:

2022-03-29 08:30:23

6. datetime.timedelta()

datetime.timedelta()函数用于表示时间间隔,例如,相差多少天,多少小时等。它接受几个可选参数–天,秒,微秒,毫秒和分钟。默认值为零。

import datetime

days_away = datetime.timedelta(days=10)

now = datetime.datetime.now()
ten_days_later = now + days_away
print(ten_days_later)

输出:

2022-04-08 08:30:23.757598

7. datetime.replace()

datetime.replace()函数用于更改datetime对象的属性,例如,更改年份或小时。它接受一个或多个可选参数,表示要更改的属性。

import datetime

now = datetime.datetime.now()
new_year = now.replace(year=2023)
new_hour = now.replace(hour=9)

print(new_year)
print(new_hour)

输出:

2023-03-29 08:30:23.317074

2022-03-29 09:30:23.317074

8. datetime.weekday()

datetime.weekday()函数返回星期几,其中0表示星期一,6表示星期日。

import datetime

now = datetime.datetime.now()
weekday = now.weekday()

print(weekday)

输出:

1

9. datetime.isoweekday()

datetime.isoweekday()函数返回ISO格式的星期几,其中1表示星期一,7表示星期日。

import datetime

now = datetime.datetime.now()
isoweekday = now.isoweekday()

print(isoweekday)

输出:

2

10. datetime.strptime()和strftime() 的时间相关码

datetime.strptime()和strftime()函数用于转换日期时间字符串和datetime对象之间的格式。它们使用具有特定格式的代码来表示日期,时间和时区信息。下面是一些常用的时间相关代码:

- %Y: 四位数年份

- %m: 两位数月份

- %d: 两位数日期

- %H: 24小时制小时数

- %I: 12小时制小时数

- %M: 两位数分钟数

- %S: 两位数秒数

- %f: 微秒(六位数)

- %p: AM或PM

- %z: UTC偏移量

- %Z: 时区名称

- %j: 年份中的天数(001-366)

- %U: 年份中的星期数(00-53,星期天作为一周的 天)

- %W: 年份中的星期数(00-53,星期一作为一周的 天)

以上是datetime库中一些重要的函数以及时间相关码,大家可以根据需求,合理使用。