python time,calendar,datetime

time

  • sleep:休眠指定的秒数(可以是小数)

  • localtime:将一个时间戳转换为time.struct_time类型的对象(类似于元组)

    # 将一个时间戳转换为一个类似于元组的对象,不指定时间戳转换当前时间
    local_time = time.localtime()
    ​
    # 可以通过下表获取元素
    print(local_time[0])
    # 也可以通过名称(对象的成员属性)
    print(local_time.tm_year)

    结果:


    time.struct_time(tm_year=2018, tm_mon=3, tm_mday=12, tm_hour=15, tm_min=39, tm_sec=11, tm_wday=0, tm_yday=71, tm_isdst=0)

    年、月、日、时、分、秒、星期(0~6)、今年的第几天、夏令时

  • mktime:根据元组形式的时间生成一个时间戳

    # 将元组形式的时间转换为时间戳
    # new_time = time.mktime(local_time)
    new_time = time.mktime((2018, 3, 12, 15, 42, 10, 0, 71, 0))
    ​
    print(new_time)
  • strftime:将一个元组形式的时间格式化为字符串,不传时间默认转换当前时间

    # 时间格式化显示,
    print(time.strftime('%Y-%m-%d %H:%M:%S %w %W', local_time))
    print(time.strftime('%D'))
    '''
    %Y:2018 年(4位)
    %y:18   年(2位)
    %m:月
    %d:日
    %D:03/12/18
    %H:时(24小时制)
    %I:时(12小时制)
    %M:分
    %S:秒
    %w:星期(1~7)
    %W:本周是今年的第几周
    '''
  • gmtime:将一个时间戳转换为元组形式,不传默认转换当前时间

    # 将一个时间戳转换为元组形式
    gm_time = time.gmtime(time.time())
    print(gm_time)

     

  • asctime:

    
    
    # 将一个元组形式的时间转换为标准格式字符串,不传参数转换当前时间
    # print(time.asctime())
    print(time.asctime(local_time))

     

  • timezone:0时区减去当前时区的秒数

    
    
    # 0时区减去当前时区的秒数
    print(time.timezone)

     

calendar

  • 日历

    
    
    import calendar
    ​
    # 获取某一年的日历
    c = calendar.calendar(2018, w=3, l=2, m=2, c=10)
    ​
    # print(c)
    # 获取指定年指定月的日历
    m = calendar.month(2018, 3)
    # print(m)

     

    #判断一个年份是否是闰年

print(calendar.isleap(2008))

 

    #判断[起始,结束)之间闰年的个数

   

 print(calendar.leapdays(2000, 2009))

 

eval

  • 将一个有效的python代码字符串执行一遍

  • 示例:

    a = 10
    b = 20
    ​
    s = 'a+b'
    # 打印的结果是30
    print(eval(s))

     

datetime

  • date

    from datetime import date, time, datetime, timedelta
    import time as t
    ​
    d1 = date(2018, 3, 13)
    print(d1)
    ​
    d2 = date.today()
    print(d2)
    ​
    d3 = date.fromtimestamp(t.time())
    print(d3)
    ​
    # 标准格式字符串
    print(d1.isoformat())
    ​
    # 日历显示形式(年,第几周,星期)
    print(d1.isocalendar())
    ​
    # 获取星期(1~7)
    print(d1.isoweekday())
    # 获取星期(0~6)
    print(d1.weekday())
    ​
    # 格式化
    print(d1.strftime('%Y-%m-%d'))
    ​
    # 转换为元组形式
    print(d1.timetuple())

     

  • time

    
    
    from datetime import time
    ​
    t = time(12, 13, 14)
    ​
    print(t)
    # 单独获取时、分、秒
    print(t.hour)
    print(t.minute)
    print(t.second)
    # 格式化
    print(t.strftime('%H::%M::%S'))

     

  • datetime

    
    
    from datetime import datetime
    import time
    ​
    dt = datetime(2018, 3, 13, 9, 53, 30)
    print(dt)
    ​
    # 本地时间
    dt2 = datetime.now()
    print(dt2)
    ​
    # 不带时区的时间
    dt3 = datetime.utcnow()
    print(dt3)
    ​
    # 将一个时间戳转换为datetime
    dt4 = datetime.fromtimestamp(time.time())
    print(dt4)
    ​
    # 获取日期
    print(dt4.date())
    ​
    # 获取时间
    print(dt4.time())
    ​
    # 获取时间戳
    print(dt4.timestamp())
    ​
    # 格式化显示
    print(dt4.strftime('%Y-%m-%d %H:%M:%S'))

     

  • timedelta

    
    
    from datetime import datetime, timedelta
    d1 = datetime(2018, 3, 12, 12, 13, 14) d2 = datetime(2018, 3, 13, 13, 14, 15)
    
    delta = d2 - d1
    
    print(delta) print(type(delta))
    
    delta2 = timedelta(days=2, hours=2, seconds=30) print(delta2)
    
    d3 = d1 + delta2 print(d3)

     

天数

print(delta2.days)

 

除天数外的秒数

print(delta2.seconds)

 

总秒数

print(delta2.total_seconds())
posted @ 2018-03-12 16:46  pythonsonline  阅读(546)  评论(0编辑  收藏  举报