Python 2.x 中如何使用datetime模块获取当前日期和时间

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 模块提供了很多功能强大的类和方法,可以方便地处理日期和时间相关的任务。

后端开发标签