zl程序教程

您现在的位置是:首页 >  系统

当前栏目

datetime模块

模块 datetime
2023-09-27 14:28:42 时间

datetime模块中包含如下类:

类名功能说明
date 日期对象,常用的属性有year, month, day
time 时间对象
datetime 日期时间对象,常用的属性有hour, minute, second, microsecond
datetime_CAPI 日期时间对象C语言接口
timedelta 时间间隔,即两个时间点之间的长度
tzinfo 时区信息对象

 

datetime模块中包含的常量

常量功能说明用法返回值
MAXYEAR 返回能表示的最大年份 datetime.MAXYEAR 9999
MINYEAR 返回能表示的最小年份 datetime.MINYEAR 1

 

一、date类

date对象由year年份、month月份及day日期三部分构成  

import datetime
import time

a = datetime.date.today()  #获取当前日期。2019-03-14
a=datetime.date(2017, 3, 22)  #创建日期对象。2017-03-22
b=a.year     #返回年份
b=a.month #返回月份
b=a.day   #返回日期
b=a.__getattribute__('year')   #返回年份
b=a.__getattribute__('month')  #返回月份
b=a.__getattribute__('day')     #返回日期
b=datetime.date(2017,3,15)
c=a.__eq__(b)  #a是否等于b
c=a.__ge__(b)   #a是否大于等于b
c=a.__gt__(b)   #a是否大于b
c=a.__le__(b)    #a是否小于等于b
c=a.__lt__(b)   #a是否小于b
c=a.__ne__(b)   #a是否不等于b
c=a.__sub__(b)   #a-b,计算ab相差时间。7 days, 0:00:00
c=a.__rsub__(b)  ##b-a,计算ab相差时间。-7 days, 0:00:00
c=a.isocalendar()  #把日期转换成元组标准形式。(2017, 12, 3)
c=a.isoformat()    #转换成YYYY-MM-DD形式。2017-03-22
c=a.isoweekday()   #返回日期这一天是星期几。
#1  表示星期一;7表示星期日
c=a.weekday()  #返回日期这一天是星期几
#0  表示星期一;6表示星期日
c=a.timetuple()  #返回一个类型为time.struct_time的数组
#time.struct_time(tm_year=2017, tm_mon=3, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=81, tm_isdst=-1)
c=a.timetuple().tm_year  #返回年份。2017

d=a.toordinal()     #从公元1年1月1日为1 到日期的天数.日期戳
c=datetime.date.fromordinal(d)   #把日期戳转换成日期格式。2017-03-22

d=time.time()  #当前的时间戳时间戳
c=datetime.date.fromtimestamp(d)  #把时间戳转换成日期。2019-03-14

c=datetime.date.max  #能够表示的最大日期。9999-12-31
c=datetime.date.min   #能够表示的最小日期。0001-01-01

c=a.__format__('%y/%m/%d')  #把日期转换成指定格式。17/03/22
c=a.strftime("%Y%m%d")    #把日期转换成指定格式。20170322
c=a.__str__()  #把日期转换成字符串

 

二.time类 

time类由hour小时、minute分钟、second秒、microsecond毫秒和tzinfo五部分组成

import datetime

a = datetime.time(12,20,59,899)  #定义时间对象。12:20:59.000899
c=a.hour  #返回小时
c=a.minute  # 返回分钟
c=a.second   #返回 秒
c=a.microsecond  #返回毫秒
c=a.tzinfo #????????
c=a.__getattribute__('hour')   #返回小时
c=a.__getattribute__('minute')  # 返回分钟
c=a.__getattribute__('second')   #返回 秒
b = datetime.time(11,20,59,889)
c=a.__eq__(b)   #a是否等于b
c=a.__ge__(b)   #a是否大于等于b
c=a.__gt__(b)   #a是否大于b
c=a.__le__(b)    #a是否小于等于b
c=a.__lt__(b)   #a是否小于b
c=a.__ne__(b)   #a是否不等于b
c=datetime.time.max  #最大的时间表示数值.23:59:59.999999
c=datetime.time.min  #最小的时间表示数值.00:00:00
c=datetime.time.resolution   #datetime最小单位.0:00:00.000001
c=a.__format__('%H:%M:%S')  #转化为指定格式。12:20:59
c=a.strftime('%H:%M:%S')   #转化为指定格式。12:20:59
c=a.isoformat()  #转化为ISO标准格式。12:20:59.000899
c=a.__str__()  #转化为字符串。12:20:59.000899

 

datetime类

 datetime类其实是可以看做是date类和time类的合体,其大部分的方法和属性都继承于这二个类

import datetime

a=datetime.datetime.now()  #获取系统当前日期和时间.2019-03-15 12:28:50.530801
a=datetime.datetime(2017, 3, 22, 16, 9, 33, 494248)  #定义一个日期时间对象.2017-03-22 16:09:33.494248
c1=a.date()  #提取 日期。2017-03-22
c2=a.time()  #提取时间。16:09:33.494248
c3=a.utctimetuple()  #转化为UTC时间元组
#time.struct_time(tm_year=2017, tm_mon=3, tm_mday=22, tm_hour=16, tm_min=9, tm_sec=33, tm_wday=2, tm_yday=81, tm_isdst=0)
c=datetime.datetime.combine(c1,c2)  #将一个date对象和一个time对象合并生成一个datetime对象.2017-03-22 16:09:33.494248
c=c3.tm_year  #提取年份
a1=datetime.datetime(2017, 4, 23, 1, 19, 3, 494)
c4=a1-a  #计算时间差.31 days, 9:09:29.506246
c=c4.total_seconds()     #返回时间差的总秒数。2711369.506246
c=c4.seconds  #返回时间差秒数32969(包括小时分钟秒)
c=c4.days  #返回时间差天数
c=c4.microseconds  #返回时间差微妙数
c=a1+datetime.timedelta(hours = 8)  #加8小时
c=a1+datetime.timedelta(days = 8)  #加8天
c=a1+datetime.timedelta(minutes = 8)  #加8分钟
c=a1+datetime.timedelta(seconds = 8)  #加8秒
c=a1+datetime.timedelta(microseconds = 8)  #加8微妙

 

 

附录:python中时间日期格式化符号:

符号说明
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

 

 

 看资料 https://www.cnblogs.com/awakenedy/articles/9182036.html