zoukankan      html  css  js  c++  java
  • 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())
  • 相关阅读:
    D365: 笔记(VS无法打开表浏览器)
    D365: 笔记(跟踪调试批处理代码)
    D365: 笔记(非批处理执行class中弹出交互式窗体或报表)
    D365: 笔记(现有量增加批号表字段查询条件)
    D365: 新功能(二)采购发票自动化流程
    D365: 新功能(一)按日期设置编号规则
    ES6 入门教程(未完)
    深入理解TypeScript(未完)
    项目
    vue + threejs 项目踩坑总结
  • 原文地址:https://www.cnblogs.com/kiki5881/p/8550152.html
Copyright © 2011-2022 走看看