zoukankan      html  css  js  c++  java
  • python

    首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了。

    1
    2
    3
    import datetime
    import time
    import calendar

    1.获取到此时的准确时间

    1
    2
    # 获取此时的时间
    print time.localtime()
    1
    2
    //输出格式为:
    time.struct_time(tm_year=2015, tm_mon=12, tm_mday=29, tm_hour=1, tm_min=10, tm_sec=25, tm_wday=1, tm_yday=363, tm_isdst=0)

    2.获取当天的日期

    1
    2
    3
    # 获取当天的日期
    print datetime.datetime.now()
    print datetime.date.today()

    3.获取昨天的日期

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 获取昨天的日期
    def getYesterday():
     today = datetime.date.today()
     oneday = datetime.timedelta(days=1)
     yesterday = today - oneday
     print type(today)  # 查看获取到时间的类型
     print type(yesterday)
     return yesterday
    yesterday = getYesterday()
    print "昨天的时间:", yesterday

    4.获取n天以前的日期
    这个应该就不用给出代码了吧,稍微想想就可以得出结果了。

    5.字符串转换为时间和日期

    1
    2
    3
    4
    5
    6
    7
    # 字符串转换为时间
    def strTodatetime(datestr, format):
     return datetime.datetime.strptime(datestr, format)
    print time.strftime("%Y-%m-%d", time.localtime())
    print strTodatetime("2014-3-1","%Y-%m-%d")
    print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    print strTodatetime("2005-2-16","%Y-%m-%d")-strTodatetime("2004-12-31","%Y-%m-%d")

    输出结果:
    2015-12-29
    2014-03-01 00:00:00
    2015-12-29 01:10:25
    47 days, 0:00:00
    6.获取日历相关信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 获取某个月的日历,返回字符串类型
    cal = calendar.month(2015, 12)
    print cal
    calendar.setfirstweekday(calendar.SUNDAY) # 设置日历的第一天
    cal = calendar.month(2015, 12)
    print cal
     
    # 获取一年的日历
    cal = calendar.calendar(2015)
    print cal
    cal = calendar.HTMLCalendar(calendar.MONDAY)
    print cal.formatmonth(2015, 12)

    7.calendar模块还可以处理闰年的问题

    1
    2
    3
    # 判断是否闰年、两个年份之间闰年的个数
    print calendar.isleap(2012)
    print calendar.leapdays(2010, 2015)

    针对Python时间模块datetime ime进行详细探讨。

    转义符对应意义如下

    • %a 本地简化星期名称
    • %A 本地完整星期名称
    • %b 本地简化的月份名称
    • %B 本地完整的月份名称
    • %c 本地相应的日期表示和时间表示
    • %d 月内中的一天(0-31)
    • %H 24小时制小时数(0-23)
    • %I 12小时制小时数(01-12)
    • %j 年内的一天(001-366)
    • %m 月份(01-12)
    • %M 分钟数(00=59)
    • %p 本地A.M.或P.M.的等价符
    • %S 秒(00-59)
    • %U 一年中的星期数(00-53)星期天为星期的开始
    • %w 星期(0-6),星期天为星期的开始
    • %W 一年中的星期数(00-53)星期一为星期的开始
    • %x 本地相应的日期表示
    • %X 本地相应的时间表示
    • %y 两位数的年份表示(00-99)
    • %Y 四位数的年份表示(000-9999)
    • %Z 当前时区的名称
    • %% %号本身

    代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    import time
    import datetime
      
      
    #两日期相减
      
    d1 = datetime.datetime(2005, 2, 16)
    d2 = datetime.datetime(2004, 12, 31)
    print (d1 - d2).days
     
     
       
    #运行时间:
       
     
    starttime = datetime.datetime.now()
    endtime = datetime.datetime.now()
    print (endtime - starttime).seconds
      
    #计算当前时间向后10天的时间。
    # 如果是小时 days 换成 hours
      
      
    d1 = datetime.datetime.now()
    d3 = d1 datetime.timedelta(days =10)
      
    print str(d3)
    print d3.ctime()
     
    time.ctime([sec])#把秒数转换成日期格式,如果不带参数,则显示当前的时间。
      
    >>> import time
    >>> time.ctime()
    >>> "Wed Jun 14 15:02:50 2006"
    >>> time.ctime(1138068452427683)
    "Sat Dec 14 04:51:44 1901"
    >>> import time
    >>> time.strftime("%Y-%m-%d %X",time.localtime())
    "2011-03-15 20:42:12"
    >>> time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
    "2011-03-15 20:03:47"
    DateTime模块
    ----------------------------
    datetime 将日期转化为秒
    >>> import datetime,time
    >>> time.mktime(datetime.datetime(2009,1,1).timetuple())
    1230739200.0
    >>> cc=[2000,11,3,12,43,33] #Attributes: year, month, day, hour, minute, second
    >>> time.mktime(datetime.datetime(cc[0],cc[1],cc[2],cc[3],cc[4],cc[5]).timetuple())
    973226613.0
    time.time()取得当前时间;
    time.localtime()取得本地时间;
    time.strftime()格式化日期;
    time.strptime(timeString)把字符串转化为日期;
     
    判断输入的日期是星期几
    >>> datetime.datetime(2011,02,15).weekday()
    1
    >>> datetime.datetime(2011,02,15).weekday()
    1
    >>> datetime.datetime(2011,02,16).weekday()
    2
    >>> datetime.datetime(2011,02,17).weekday()
    3
    >>>
    datetime模块获取当前时间
    >>> datetime.datetime.utcnow()
    datetime.datetime(2011, 3, 15, 13, 19, 32, 264194)
    >>> datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") 格式化
    '2011-03-15 13:19:27'
    >>>

    以上就是关于Python时间模块的详细学习,希望对大家学习Python程序设计有所帮助。

  • 相关阅读:
    android init进程分析 ueventd
    SpringBoot发布WAR启动报错:Error assembling WAR: webxml attribute is required
    No such file or directory 8356:error:02001003:system library:fopen:No such process:cryptoioss_file.c:7 4:fopen
    mybatis-generator的maven插件使用异常(mybatis-generator-maven-plugin):generate failed: Exception getting JDBC Driver
    maven中import scope依赖方式解决单继承问题的理解
    复式记账中"借"与"贷"的理解
    Spring初始化Bean或销毁Bean前执行操作的方式
    NoClassDefFoundError: com/ibatis/sqlmap/engine/transaction/external/ExternalTransactionConfig处理
    Spring Bean依赖但注入(autowired或resource)时NullPointerException(xml和annotation混用的场景下)
    解决IntelliJ IDEA 创建Maven项目速度慢问题
  • 原文地址:https://www.cnblogs.com/thb-blog/p/7660152.html
Copyright © 2011-2022 走看看