您的位置:

Python3 datetime模块:时间日期操作详解

一、datetime模块介绍

datetime是一个处理日期和时间的常用模块,在Python中属于标准库,可以进行各种日期和时间的处理,包括日期的加减、格式化输出等。

import datetime

二、获取日期和时间

获取当前的日期和时间可以通过now()方法来实现,返回一个datetime对象。如果需要获取指定日期和时间可以使用datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0)方法。

import datetime

# 获取当前的日期和时间
now = datetime.datetime.now()

# 获取指定日期和时间
date = datetime.datetime(2022, 1, 1, 12, 30, 0, 0)

三、日期和时间的格式化输出

对于日期和时间的格式化输出,可以通过strftime(format)方法来实现。其中format是一个字符串,可以包含各种格式符号来表示不同的日期和时间格式。

例如,%Y表示4位数的年份,%m表示2位数的月份,%d表示2位数的日期,%H表示24小时制的小时,%M表示分钟,%S表示秒数,%f表示微秒。

import datetime

now = datetime.datetime.now()

# 输出当前日期和时间
print(now.strftime("%Y-%m-%d %H:%M:%S"))

# 输出当前日期
print(now.strftime("%Y年%m月%d日"))

# 输出当前时间
print(now.strftime("%H:%M:%S"))

# 输出包含微秒的时间
print(now.strftime("%Y-%m-%d %H:%M:%S.%f"))

四、日期和时间的加减

datetime模块中的timedelta对象可以用来表示一个时间段,可以对日期和时间进行加减操作。

例如,可以通过timedelta(days=1)来表示一天的时间段,可以通过now + timedelta(days=1)来获取明天的日期。

import datetime

now = datetime.datetime.now()

# 加一天
tomorrow = now + datetime.timedelta(days=1)
print(tomorrow.strftime("%Y-%m-%d"))

# 减一天
yesterday = now - datetime.timedelta(days=1)
print(yesterday.strftime("%Y-%m-%d"))

# 加一小时
next_hour = now + datetime.timedelta(hours=1)
print(next_hour.strftime("%H:%M:%S"))

五、日期和时间的比较

datetime对象可以进行比较操作,可以用来判断两个日期和时间的先后顺序。

import datetime

now = datetime.datetime.now()
tomorrow = now + datetime.timedelta(days=1)

# 判断now是否早于tomorrow
if now < tomorrow:
    print("now早于tomorrow")
else:
    print("now晚于tomorrow")