time & datetime

时间相关的操作,时间有三种表示方式:

  • 时间戳               1970年1月1日之后的秒,即:time.time()
  • 格式化的字符串    2014-11-11 11:11,    即:time.strftime('%Y-%m-%d')
  • 结构化时间          元组包含了:年、日、星期等... time.struct_time    即:time.localtime()
print(time.gmtime())    #可加时间戳参数,将一个时间戳转换为UTC时区(0时区)的struct_time.其默认值为time.time(),函数返回time.struct_time类型的对象。(struct_time是在time模块中定义的表示时间的对象)
print(time.localtime()) #可加时间戳参数,作用是格式化时间戳为本地的时间
print(time.strptime('2014-11-11', '%Y-%m-%d')) #字符串转换成time.struct格式
例:
print(time.strptime('2016-7-18','%Y-%m-%d'))

  time.struct_time(tm_year=2016, tm_mon=7, tm_mday=18, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=200, tm_isdst=-1)

   
print(time.strftime('%Y-%m-%d')) #默认当前时间
print(time.strftime('%Y-%m-%d',time.localtime())) #默认当前时间
print(time.asctime())   #返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
print(time.asctime(time.localtime()))
print(time.ctime(time.time()))  #把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式
   
from datetime import date,datetime 

'''
datetime.date:表示日期的类。常用的属性有year, month, day
datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond
datetime.datetime:表示日期时间
datetime.timedelta:表示时间间隔,即两个时间点之间的长度,直属datetime类
timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
strftime("%Y-%m-%d")
'''

print(datetime.now())  #返回新的时间对象
	例:
  In [10]: datetime.now()
  Out[10]: datetime.datetime(2016, 6, 22, 9, 43, 4, 625646)

print(date.weekday(datetime.now()))  #星期几 星期一 到 星期六 对应 0-6
	例:
	In [13]: date.weekday(datetime.now())
	Out[13]: 2

print(datime.today().day) #今天几号
print(datetime.datetime.now() - datetime.timedelta(days=5)) #时间减法
  
(datetime.datetime.now()-datetime.timedelta(days=30)).strftime("%Y-%m-%d") #时间减法 strftime 为可读字串
  例:

    In [43]: (datetime.datetime.now()-datetime.timedelta(days=30)).strftime("%Y-%m-%d")
    Out[43]: '2016-05-23'

  

    %Y  Year with century as a decimal number.
    %m  Month as a decimal number [01,12].
    %d  Day of the month as a decimal number [01,31].
    %H  Hour (24-hour clock) as a decimal number [00,23].
    %M  Minute as a decimal number [00,59].
    %S  Second as a decimal number [00,61].
    %z  Time zone offset from UTC.
    %a  Locale's abbreviated weekday name.
    %A  Locale's full weekday name.
    %b  Locale's abbreviated month name.
    %B  Locale's full month name.
    %c  Locale's appropriate date and time representation.
    %I  Hour (12-hour clock) as a decimal number [01,12].
    %p  Locale's equivalent of either AM or PM.

 

posted @ 2016-05-19 10:32  Echo/  阅读(227)  评论(0编辑  收藏  举报