Python 2.x 中使用 datetime 模块获取当前日期和时间
Python 中 datetime 模块是处理日期和时间的常用模块之一。它有内置的日期和时间类型,以及支持日期和时间算术运算、格式化输出等功能。
1. datetime 模块简介
datetime 模块包含以下几个重要的类:
datetime.date:日期类,如:年、月、日。
datetime.time:时间类,如:时、分、秒、微秒。
datetime.datetime:日期时间类,是 date 和 time 的组合。
datetime.timedelta:时间差类,用于表示两个时间点之间的时间间隔。
2. 获取当前日期和时间
获取当前的日期和时间可以使用 datetime 模块中的 datetime 类的 now() 方法。它返回一个表示当前日期和时间的 datetime 对象。
import datetime
now = datetime.datetime.now()
print("当前日期和时间:", now)
上述代码输出当前日期和时间,如下所示:
当前日期和时间: 2021-07-01 12:30:20.123456
其中,年、月、日、小时、分钟、秒、微秒分别对应于 datetime 对象的 year、month、day、hour、minute、second、microsecond 属性。以下是获取年、月、日等单独的属性的示例代码:
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second
microsecond = now.microsecond
print("当前年份:", year)
print("当前月份:", month)
print("当前日期:", day)
print("当前小时数:", hour)
print("当前分钟数:", minute)
print("当前秒数:", second)
print("当前微秒数:", microsecond)
上述代码输出当前年份、月份、日期、小时数、分钟数、秒数和微秒数,如下所示:
当前年份: 2021
当前月份: 7
当前日期: 1
当前小时数: 12
当前分钟数: 30
当前秒数: 20
当前微秒数: 123456
3. 格式化输出日期和时间
datetime 模块提供了 strftime() 方法,用于将 datetime 对象格式化为一个字符串。下面是 strftime() 方法中常用的格式化代码:
%Y:四位数的年份
%m:两位数的月份
%d:两位数的日期
%H:24 小时制的小时数
%M:分钟数
%S:秒数
%f:微妙数
%a:星期几的缩写
%A:星期几的全称
%b:月份的缩写
%B:月份的全称
%c:完整的日期和时间
%p:上午或下午,AM 或 PM(用于 12 小时制)
%z:时区,格式为 +HHMM 或 -HHMM
%Z:时区的名称
%%:百分号
下面是一个示例代码,使用 strftime() 方法格式化输出当前的日期和时间:
now = datetime.datetime.now()
# 格式化输出日期和时间
print(now.strftime("今天是 %Y 年 %m 月 %d 日,现在时间是 %H 时 %M 分 %S 秒"))
# 输出星期几的名称
print("今天是星期{}".format(now.strftime("%w")))
上述代码输出类似于以下的结果:
今天是 2021 年 07 月 01 日,现在时间是 13 时 15 分 20 秒
今天是星期4
4. 其他常用方法和操作
除了上述方法外,datetime 模块还提供了很多常用的方法和操作。以下是一些常用的示例:
4.1 根据时间戳获取日期和时间
可以使用 datetime 模块中的 fromtimestamp() 方法,将 Unix 时间戳转换为 datetime 对象。Unix 时间戳是指自 1970 年 1 月 1 日 00:00:00 UTC 到现在的秒数。
import datetime
timestamp = 1625128000
date = datetime.datetime.fromtimestamp(timestamp)
print(date)
上述代码输出 Unix 时间戳对应的日期和时间,如下所示:
2021-07-01 09:00:00
4.2 时间运算
datetime 支持日期和时间的加减运算,可使用 timedelta 类表示时间间隔。以下是一些常用的示例:
import datetime
now = datetime.datetime.now()
tomorrow = now + datetime.timedelta(days=1)
yesterday = now - datetime.timedelta(days=1)
next_hour = now + datetime.timedelta(hours=1)
next_minute = now + datetime.timedelta(minutes=1)
print("今天的日期和时间是:", now)
print("明天的日期和时间是:", tomorrow)
print("昨天的日期和时间是:", yesterday)
print("下一个小时的时间是:", next_hour)
print("下一分钟的时间是:", next_minute)
上述代码输出下一个小时、下一分钟、明天、今天和昨天的日期和时间,如下所示:
今天的日期和时间是: 2021-07-01 15:00:00
明天的日期和时间是: 2021-07-02 15:00:00
昨天的日期和时间是: 2021-06-30 15:00:00
下一个小时的时间是: 2021-07-01 16:00:00
下一分钟的时间是: 2021-07-01 15:01:00
4.3 判断闰年
闰年是指可以被 4 整除但不能被 100 整除,或者可以被 400 整除的年份。可以通过判断年份是否是闰年来执行某些操作。
import datetime
now = datetime.datetime.now()
if now.year % 4 == 0 and now.year % 100 != 0 or now.year % 400 == 0:
print("{} 年是闰年".format(now.year))
else:
print("{} 年不是闰年".format(now.year))
上述代码根据当前的年份判断是否是闰年,并输出相应的结果。
5. 总结
本文介绍了如何使用 python 2.x 中的 datetime 模块获取当前日期和时间,以及其他一些常用的方法和操作。datetime 模块提供了很多功能强大的类和方法,可以方便地处理日期和时间相关的任务。