一、概述
datetime库定义了2个常量和5个类。
常量名/类名 | 描述 | |
---|---|---|
2个常量 | MINYEAR=1 | |
AXYEAR=9999 | ||
5个类 | date类 | 表示日期的类 |
time类 | 表示时间的类 | |
datetime类 | 表示时间日期的类 | |
timedelta类 | 表示两个datetime对象的差值; | |
tzinfo类 | 表示时区的相关信息 |
1、date类
date类包含三个参数,分别为year,month,day,返回格式为year-month-day。
- 构造方法:
方法名称 | 描述 | 使用 |
---|---|---|
__new__(year,month,day) | 默认的构造函数,创建date类的对象时直接传入year,month,day三个参数即可返回对应的日期。 |
输出: 2018-04-28 |
fromtimestamp(t) | 使用时间戳构造对象,使用方法为:datetime.date.fromtimestamp(t),传入参数t为一个时间戳,返回时间戳t对应的日期 | |
today() | 使用今天的日期构造对象,使用方法为:datetime.date.today(),无参数,返回今天的日期。 |
输出: 2020-08-11 |
fromordinal(n) | 使用日期序数构造对象,使用方法为:datetime.date.fromordinal(n),传入参数为一个整数序数,代表从公元1年1月1日开始的序数,序数每增加1代表增加1天,返回最终计算出的日期。 |
输出: 0002-05-15 |
类方法:
方法名称 | 描述 | 使用 |
---|---|---|
timetuple() | 返回日期对应的time.struct_time对象,格式为 |
输出: time.struct_time(tm_year=2, tm_mon=5, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=135, tm_isdst=-1) |
toordinal() | 相当于fromordinal(n) 的逆过程,返回值即为fromordinal(n) 中的日期序数n |
输出: 500 |
weekday() isoweekday() | 返回该日期对应星期几,用[0,6]代表星期一到星期日。 |
|
isocalendar() | 返回一个三元组,格式为(year,week_number,weekday),分别代表年,第几周,星期几。 |
输出: (2020, 33, 2) |
isoformat() | 返回标准日期格式:YYYY-MM-DD。 |
输出: 2020-08-11 |
ctime() | 返回格式为:Sat Sep 8 00:00:00 2018 |
输出: Tue Aug 11 00:00:00 2020 |
strftime(format) | 把日期按照format指定的格式进行格式化,具体的格式化符号如下。 | |
replace(year,month,day) | 传入参数为year,month,day,返回对应的新日期。 |
2、time类
time类包含六个参数,分别为hour,minute,second,microsecond,tzinfo,fold,返回格式为hour:minute:second(.microsecond)。
3、datetime类
datetime类是date类和time类的合体,包含前两个类的全部参数。
4、timedelta类
timedelta类代表两个datetime对象之间的时间差。
二、使用
import datetime
# 获取当前日期和时间
now_time = datetime.datetime.now()
# 格式化成想要的日期
比如:“2016-09-21”:datetime.datetime.now().strftime('%Y-%m-%d')
# 对当前时间进行加减操作
add_hour=datetime.datetime.now()+datetime.timedelta(hours=1)
参考文章:
版权声明:本文为sanmi8276原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。