Python时间库—datetime的详解及使用

一、概述

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三个参数即可返回对应的日期。
import datetime

date = datetime.date(2018,4,28)
print(date)

输出:

2018-04-28

fromtimestamp(t)使用时间戳构造对象,使用方法为:datetime.date.fromtimestamp(t),传入参数t为一个时间戳,返回时间戳t对应的日期 
today()使用今天的日期构造对象,使用方法为:datetime.date.today(),无参数,返回今天的日期。
import datetime

date = datetime.date.today()
print(date)

输出:

2020-08-11

fromordinal(n)使用日期序数构造对象,使用方法为:datetime.date.fromordinal(n),传入参数为一个整数序数,代表从公元1年1月1日开始的序数,序数每增加1代表增加1天,返回最终计算出的日期。
import datetime

date = datetime.date.fromordinal(500)
print(date)

输出:

0002-05-15
 

类方法:

方法名称描述使用
timetuple()

返回日期对应的time.struct_time对象,格式为time.struct_time(tm_year=1, tm_mon=1, tm_mday=2, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=2, tm_isdst=-1)

import datetime

date = datetime.date.fromordinal(500)
tuple = date.timetuple()
print(tuple)

输出:

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
import datetime

date = datetime.date.fromordinal(500)
day_num = date.toordinal()
print(day_num)

输出:

500

weekday()

isoweekday()

返回该日期对应星期几,用[0,6]代表星期一到星期日。
import datetime

date = datetime.date(2020,08,11)
day = date.weekday()
print(day)

 

isocalendar()返回一个三元组,格式为(year,week_number,weekday),分别代表年,第几周,星期几。
import datetime

date = datetime.date.today()
day = date.isocalendar()
print(day)

输出:

(2020, 33, 2)

isoformat()返回标准日期格式:YYYY-MM-DD。
import datetime

date = datetime.date.today()
day = date.isoformat()
print(day)

输出:

2020-08-11

ctime()返回格式为:Sat Sep 8 00:00:00 2018
import datetime

date = datetime.date.today()
day = date.ctime()
print(day)

输出:

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)

参考文章:

python获取当前时间的用法

【Python】datetime库详解


版权声明:本文为sanmi8276原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。