datetime只取年月日 Python

在编程中,我们经常需要处理日期和时间数据。Python中的datetime模块提供了处理日期和时间的功能,它能够表示从公元1年1月1日起的日期和时间。有时候我们只需要使用日期的年、月和日部分,本文将介绍如何使用datetime模块来只获取年月日。

datetime模块简介

datetime模块包含了几个重要的类:datetimedatetime。其中,date类表示日期,time类表示时间,datetime类表示日期和时间的组合。

只获取年月日

要只获取日期的年、月和日部分,可以使用date类的yearmonthday属性。下面是一个示例代码:

from datetime import date

today = date.today()
year = today.year
month = today.month
day = today.day

print(f"今天是{year}年{month}月{day}日")

运行上述代码,会输出类似以下内容的结果:

今天是2022年1月1日

这样,我们就成功地将日期拆分为年、月和日三个部分。

使用strftime格式化日期

除了直接访问date类的属性,我们还可以使用strftime方法将日期格式化为指定的字符串。strftime方法接受一个格式化字符串作为参数,该字符串可以包含一系列的格式化代码来表示不同的日期和时间部分。

下面是一个示例代码,演示了如何使用strftime方法将日期格式化为指定的字符串:

from datetime import date

today = date.today()
formatted_date = today.strftime("%Y-%m-%d")

print(f"今天是{formatted_date}")

运行上述代码,会输出类似以下内容的结果:

今天是2022-01-01

在上述代码中,"%Y-%m-%d"是格式化字符串,其中%Y表示四位数的年份,%m表示两位数的月份,%d表示两位数的日期。

使用datetime模块获取年月日

如果需要同时处理日期和时间,可以使用datetime类。datetime类具有与date类类似的属性和方法,可以用于获取年、月和日的部分。下面是一个示例代码:

from datetime import datetime

now = datetime.now()
year = now.year
month = now.month
day = now.day

print(f"当前时间是{year}年{month}月{day}日")

运行上述代码,会输出类似以下内容的结果:

当前时间是2022年1月1日

关系图

下面是一个示例的关系图,展示了datetime模块中各个类之间的关系:

erDiagram
    date ||..|| datetime
    time ||..|| datetime

在上述关系图中,箭头表示类之间的继承关系,datetime类都是datetime类的子类。

甘特图

下面是一个示例的甘特图,展示了datetime模块中常用的方法和属性:

gantt
    title datetime模块使用示例

    section 获取日期和时间
    获取当前日期和时间 :done,2022-01-01,1d
    获取特定日期和时间 :done,2022-01-01,1d
    获取日期的年份 :done,2022-01-01,1d
    获取日期的月份 :done,2022-01-01,1d
    获取日期的日期 :done,2022-01-01,1d
    格式化日期为字符串 :done,2022-01-01,1d

    section 操作日期和时间
    增加或减少日期和时间 :done,2022-01-01,1d
    比较日期和时间 :done,2022-01-01,1d
    计算日期和时间之差 :done,2022-01-01,1d

在上述甘特图中,展示了datetime模块中一些常用的方法和属性,包括获取日期和时间、操作日期和时间以及计算日期和时间之