python:datetime模块

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Yk_0311/article/details/82226825

今天做日期的二进制转换的时候用到了datetime模块,所以记录一下。

datetime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzunfo

1.date类
datetime.date(year,month,day)

静态方法和字段

date.max、date.min:date对象所能表示的最大、最小日期;
date.resolution:date对象表示日期的最小单位。这里是天。
date.today():返回一个表示当前本地日期的date对象;
date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;

>>> datetime.date.max
datetime.date(9999, 12, 31)
>>> datetime.date.min
datetime.date(1, 1, 1)
>>> datetime.date.resolution
datetime.timedelta(1)
>>> datetime.date.today()
datetime.date(2018, 8, 30)
>>> datetime.date.fromtimestamp(12548663)
datetime.date(1970, 5, 26)

方法和属性

d1 = date(1998,03,11)#date对象
d1.year、date.month、date.day:年、月、日;
d1.replace(year, month, day):生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)
d1.timetuple():返回日期对应的time.struct_time对象;
d1.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;
d1.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;
d1.isocalendar():返回格式如(year,month,day)的元组;
d1.isoformat():返回格式如’YYYY-MM-DD’的字符串;
d1.strftime(fmt):由日期格式转化为字符串格式的函数为: datetime.datetime.strftime()。

>>> import datetime
>>> d1=datetime.date(1998,3,11)
>>> d1.year
1998
>>> d1.month
3
>>> d1.day
11
>>> d1.replace(1997,6,12)
datetime.date(1997, 6, 12)
>>> d1.year
1998
>>> d2=d1.replace(1997,6,12)
>>> d2.year
1997
>>> d1.timetuple()
time.struct_time(tm_year=1998, tm_mon=3, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=70, tm_isdst=-1)
>>> d1.weekday()
2
>>> d1.isoweekday()
3
>>> d1.isocalendar()
(1998, 11, 3)
>>> d1.isoformat()
'1998-03-11'
>>> d1.strftime("%Y-%m-%d")
'1998-03-11'

2.time类
datetime.time(hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] )

datetime.time(hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] )

静态方法和字段

time.min、time.max:time类所能表示的最小、最大时间。其中,time.min = time(0, 0, 0, 0), time.max = time(23, 59, 59, 999999);
time.resolution:时间的最小单位,这里是1微秒;

扫描二维码关注公众号,回复: 3319611 查看本文章

方法和属性

t1 = datetime.time(10,23,15)#time对象
t1.hour、t1.minute、t1.second、t1.microsecond:时、分、秒、微秒;
t1.tzinfo:时区信息;
t1.replace([ hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ):创建一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变);
t1.isoformat():返回型如”HH:MM:SS”格式的字符串表示;
t1.strftime(fmt):由日期格式转化为字符串格式的函数为: datetime.datetime.strftime()

3.datetime类
datetime相当于date和time结合起来。
datetime.datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )

静态方法和字段

datetime.today():返回一个表示当前本地时间的datetime对象;
datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
datetime.utcnow():返回一个当前utc时间的datetime对象;#格林威治时间
datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
datetime.combine(date, time):根据date和time,创建一个datetime对象;
datetime.strptime(date_string, format):由字符串格式转化为日期格式的函数为: datetime.datetime.strptime();

>>> import datetime
>>> datetime.datetime.today()
datetime.datetime(2018, 8, 30, 19, 52, 7, 59919)
>>> datetime.datetime.now()
datetime.datetime(2018, 8, 30, 19, 52, 32, 653562)
>>> datetime.datetime.utcnow()
datetime.datetime(2018, 8, 30, 11, 52, 49, 362911)
>>> datetime.datetime.fromtimestamp(266546546)
datetime.datetime(1978, 6, 13, 8, 42, 26)
>>> datetime.datetime.combine(datetime.date(1998,5,11),datetime.time(10,12,12))
datetime.datetime(1998, 5, 11, 10, 12, 12)

方法和属性

dt=datetime.now()#datetime对象
dt.year、month、day、hour、minute、second、microsecond、tzinfo:
dt.date():获取date对象;
dt.time():获取time对象;
dt. replace ([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ] ] ]):
dt. timetuple ()
dt. utctimetuple ()
dt. toordinal ()
dt. weekday ()
dt. isocalendar ()
dt. isoformat ([ sep] )
dt. ctime ():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));
dt. strftime (format)

4.timedelta类,时间加减

使用timedelta可以很方便的在日期上做天days,小时hour,分钟,秒,毫秒,微妙的时间计算,如果要计算月份则需要另外的办法。

dt1 = dt + timedelta(days=-1)#昨天
dt2 = dt - timedelta(days=1)#昨天
dt3 = dt + timedelta(days=1)#明天

datetime.datetime.strftime():由日期格式转化为字符串格式的函数
datetime.datetime.strptime():由字符串格式转化为日期格式的函数

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Yk_0311/article/details/82226825