python模块-datetime模块

 上面一篇已经讲了time模块,再来学习datetime模块。

 

 

datetime主要有datetime、timedelta、time、date这4个子模块。

a、datetime常用的函数(datetime对象)

1、获取当前时间:结果为struct_time

>>> a=datetime.datetime.now()
>>> print a.year,a.hour,a.minute
2017 15 58

2、获取当天时间:结果为struct_time

>>> datetime.datetime.today()
datetime.datetime(2017, 9, 23, 16, 1, 34, 637868)

3、格式化时间戳,结果为struct_time

>>> datetime.datetime.fromtimestamp(time.time())
datetime.datetime(2017, 9, 23, 16, 3, 26, 926928)

4、datetime.datetime.strftime():结果为string_time

>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2017-09-23 16:10:05'

5、datetime.datetime.strptime(),结果为struct_time

>>> datetime.datetime.now().strptime('2016-10-11','%Y-%m-%d')
datetime.datetime(2016, 10, 11, 0, 0)

6、datetime的所有函数

>>> dt=datetime.datetime.now()
>>> dt.weekday()
5
>>> dt.
 dt.combine(           dt.min                dt.toordinal(
 dt.ctime(             dt.minute             dt.tzinfo
 dt.date(              dt.month              dt.tzname(
 dt.day                dt.now(               dt.utcfromtimestamp(
 dt.dst(               dt.replace(           dt.utcnow(
 dt.fromordinal(       dt.resolution         dt.utcoffset(
 dt.fromtimestamp(     dt.second             dt.utctimetuple(
 dt.hour               dt.strftime(          dt.weekday(
 dt.isocalendar(       dt.strptime(          dt.year
 dt.isoformat(         dt.time(              
 dt.isoweekday(        dt.timetuple(         
 dt.max                dt.timetz(            
 dt.astimezone(        dt.microsecond        dt.today(     

  

b、timedelta,时间段,可以用来获取将来或过去某个时间

timedelta是一个时间段,不是表示一个时间点。所以我们可以把时间段用来加减操作。

比如:获取当天此时,明天此时,昨天此时,上周同一时刻

>>> datetime.datetime.now() + datetime.timedelta(days=0)
datetime.datetime(2017, 9, 23, 16, 21, 50, 308900)
>>> datetime.datetime.now() + datetime.timedelta(days=1)
datetime.datetime(2017, 9, 24, 16, 21, 57, 788849)
>>> datetime.datetime.now() + datetime.timedelta(days=-1)
datetime.datetime(2017, 9, 22, 16, 21, 59, 829977)
>>> datetime.datetime.now() + datetime.timedelta(days=-7)
datetime.datetime(2017, 9, 16, 16, 24, 41, 5906)
>>> 

 

可以通过days、hours、minutes、seconds、microseconds指定天、时、分、秒、微妙来获取将来或过去的某个时间点。

>>> datetime.datetime.now() + datetime.timedelta(days=0)
datetime.datetime(2017, 9, 23, 16, 32, 56, 16910)
>>> datetime.datetime.now() + datetime.timedelta(days=-1,hours=1,seconds=10,minutes=2,microseconds=10)
datetime.datetime(2017, 9, 22, 17, 35, 7, 392881)
>>> datetime.datetime.now() + datetime.timedelta(days=1,hours=1,seconds=10,minutes=2,microseconds=10)
datetime.datetime(2017, 9, 24, 17, 35, 10, 857056)
>>> 

  

c、date,生成一个日期对象,参数为:年、月、日

date(year, month, day) --> date object

>>> datetime.date(2017,9,23)
datetime.date(2017, 9, 23)

  

d、time,生成一个时间对象,参数为:时、分、秒、微妙

time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object

>>> datetime.time(16,11,11,11)
datetime.time(16, 11, 11, 11)

  

 

  

  

posted @ 2017-09-23 15:42  skyflask  阅读(643)  评论(0编辑  收藏  举报