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

Python的datetime函数的用法和示例

发布时间:2023-07-06 09:27:22

datetime模块是Python中处理日期和时间的标准库,提供了许多有用的函数和类。下面将介绍datetime模块的常用函数和类以及示例用法。

1. datetime类

datetime类是datetime模块中最常用的类,用于表示一个具体的日期和时间。可以通过下面的方式导入该类:

from datetime import datetime

创建一个datetime对象的常用方法有两种:

- 使用datetime()函数:datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0),其中year、month、day是必选参数,hour、minute、second、microsecond是可选参数。

current_datetime = datetime(2020, 10, 31, 10, 30, 0)

- 使用datetime类的静态方法now():返回当前日期和时间。

current_datetime = datetime.now()

datetime对象的常用属性:

- year:年份

- month:月份

- day:日期

- hour:小时

- minute:分钟

- second:秒钟

- microsecond:微妙

示例:

from datetime import datetime

current_datetime = datetime(2020, 10, 31, 10, 30, 0)
print(current_datetime.year)  # 2020
print(current_datetime.month)  # 10
print(current_datetime.day)  # 31
print(current_datetime.hour)  # 10
print(current_datetime.minute)  # 30
print(current_datetime.second)  # 0

2. timedelta类

timedelta类用于表示两个datetime对象之间的时间差。可以通过下面的方式导入该类:

from datetime import timedelta

创建一个timedelta对象的方式:

- 使用timedelta()函数:timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0),参数都是可选参数,可以指定相差的天数、秒数、微妙数等。

time_difference = timedelta(hours=1)

timedelta对象的常用属性和方法:

- days:相差的天数

- seconds:相差的秒数

- microseconds:相差的微妙数

- total_seconds():返回相差的总秒数

示例:

from datetime import datetime, timedelta

current_datetime = datetime.now()
next_hour_datetime = current_datetime + timedelta(hours=1)
time_difference = next_hour_datetime - current_datetime

print(time_difference.days)  # 0
print(time_difference.seconds)  # 3600
print(time_difference.total_seconds())  # 3600.0

3. strftime()函数和strptime()函数

datetime对象可以通过strftime()函数将日期和时间转换为字符串,也可以通过strptime()函数将字符串转换为datetime对象。

strftime()函数的用法:strftime(format),其中format是日期和时间的格式化字符串,可以包含各种占位符。常用占位符有:

- %Y:四位数的年份

- %m:两位数的月份

- %d:两位数的日期

- %H:24小时制的小时数

- %M:分钟数

- %S:秒数

from datetime import datetime

current_datetime = datetime.now()
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_datetime)  # 2020-10-31 10:30:00

strptime()函数的用法:strptime(date_string, format),其中date_string是待解析的字符串,format是解析字符串的格式。

from datetime import datetime

formatted_datetime = "2020-10-31 10:30:00"
parsed_datetime = datetime.strptime(formatted_datetime, "%Y-%m-%d %H:%M:%S")
print(parsed_datetime)  # 2020-10-31 10:30:00

这是datetime模块的一些常用函数和类的用法和示例。使用datetime模块可以方便地进行日期和时间的处理,可以在各种项目中灵活应用。