时间处理模块datetime的使用方法
Python 语言中有一个名为 datetime 的模块,其目的是处理与日期和时间相关的信息。它提供了许多有用的类和函数,可以帮助程序员在 Python 中轻松地处理日期和时间。本文将介绍 datetime 模块中一些重要的类和方法。
1. datetime 类
datetime 类是 datetime 模块中最重要的类之一。它用于表示一个日期和时间。该类的构造函数如下:
datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)
其中,year、month 和 day 分别代表年、月和日。hour、minute、second 和 microsecond 分别代表时、分、秒和微秒。这些参数都是整数。
下面的代码演示了如何创建一个 datetime 对象。
import datetime dt = datetime.datetime(2021, 5, 26, 14, 30, 0, 5000) print(dt)
输出结果如下:
2021-05-26 14:30:00.005000
2. date 类和 time 类
date 类用于表示日期,time 类用于表示时间。它们的构造函数分别如下:
datetime.date(year, month, day) datetime.time(hour=0, minute=0, second=0, microsecond=0)
下面的代码演示了如何创建一个 date 对象和一个 time 对象,并使用它们创建 datetime 对象。
import datetime d = datetime.date(2021, 5, 26) t = datetime.time(14, 30, 0, 5000) dt = datetime.datetime.combine(d, t) print(dt)
输出结果如下:
2021-05-26 14:30:00.005000
3. timedelta 类
timedelta 类用于表示两个日期或时间之间的时间差。它的构造函数如下:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
下面的代码演示了如何创建一个 timedelta 对象,并使用它计算两个日期之间的时间差。
import datetime d1 = datetime.date(2021, 5, 26) d2 = datetime.date(2021, 5, 31) delta = d2 - d1 print(delta.days)
输出结果如下:
5
4. strftime 方法
strftime 方法用于将 datetime 对象格式化为字符串。它的参数是一个格式化字符串,用于指定输出格式。下面的代码演示了如何将 datetime 对象格式化为不同的字符串。
import datetime
dt = datetime.datetime(2021, 5, 26, 14, 30, 0, 5000)
print(dt.strftime("%Y/%m/%d %H:%M:%S.%f"))
print(dt.strftime("%Y-%m-%d %I:%M:%S %p"))
print(dt.strftime("%a, %d %b %Y %H:%M:%S GMT"))
输出结果如下:
2021/05/26 14:30:00.005000 2021-05-26 02:30:00 PM Wed, 26 May 2021 14:30:00 GMT
其中,%Y 表示年份(4 位数字),%m 表示月份(2 位数字),%d 表示日(2 位数字),%H 表示小时(24 小时制),%M 表示分钟,%S 表示秒,%f 表示微秒,%a 表示星期几(缩写),%b 表示月份(缩写),%I 表示小时(12 小时制),%p 表示上午或下午。
5. strptime 方法
strptime 方法用于将字符串解析为 datetime 对象。它的参数是一个格式化字符串,用于指定输入格式。下面的代码演示了如何将字符串解析为 datetime 对象。
import datetime s = "2021-05-26 14:30:00.005000" dt = datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S.%f") print(dt)
输出结果如下:
2021-05-26 14:30:00.005000
其中,%Y、%m、%d、%H、%M、%S 和%f 的含义与 strftime 方法中相同。
总结
datetime 模块提供了处理日期和时间的易于使用的类和函数。它的 datetime 类用于表示日期和时间,date 类用于表示日期,time 类用于表示时间,timedelta 类用于表示时间差。strftime 方法用于将 datetime 对象格式化为字符串,strptime 方法用于将字符串解析为 datetime 对象。可以使用这些类和函数轻松地在 Python 中处理日期和时间。
