zoukankan      html  css  js  c++  java
  • time 模块

     

    1. time模块

    1.1测试

    >>> time.time()
    1523778095.6930795
    
    >>> time.localtime()
    time.struct_time(tm_year=2018, tm_mon=4, tm_mday=15, tm_hour=15, tm_min=41, tm_sec=45, tm_wday=6, tm_yday=105, tm_isdst=0)
    
    >>> time.localtime().tm_year
    2018
    >>> time.localtime().tm_mon
    4

    1.2转换

    time.localtime() 可以传入参数, time.time()不行

    >>> tt=time.time()
    >>> tl=time.localtime()
    >>> 
    >>> time.localtime(tt)
    time.struct_time(tm_year=2018, tm_mon=4, tm_mday=15, tm_hour=17, tm_min=26, tm_sec=42, tm_wday=6, tm_yday=105, tm_isdst=0)
    >>> time.time(tl)
    Traceback (most recent call last):
      File "<pyshell#84>", line 1, in <module>
        time.time(tl)
    TypeError: time() takes no arguments (1 given)
    >>>

    >>> time.mktime(tl)
    1523784410.0

    1.3格式化

    可以对time.localtime()格式化,不能对time.time()格式化

    >>> "%s-%s-%s %s:%s:%s"%(tl.tm_year,tl.tm_mon,tl.tm_mday,tl.tm_hour,tl.tm_min,tl.tm_sec)
    >>> time.strftime('%Y-%m-%d %H:%M:%S',tl)
    '2018-04-15 17:26:50'
    >>> 
    >>> time.strftime('%Y-%m-%d %H:%M:%S',tt)
    Traceback (most recent call last):
      File "<pyshell#105>", line 1, in <module>
        time.strftime('%Y-%m-%d %H:%M:%S',tt)
    TypeError: Tuple or struct_time argument required
    >>> 

    或者直接对当前时间格式化

    >>> time.strftime('%Y-%m-%d %H:%M:%S')
    '2018-04-15 18:21:42'
    >>> 

    1.4 格式化与反格式化

    >>> s1=time.strftime('%Y-%m-%d %H:%M:%S')
    >>> time.strptime(s1,'%Y-%m-%d %H:%M:%S')
    time.struct_time(tm_year=2018, tm_mon=4, tm_mday=15, tm_hour=18, tm_min=37, tm_sec=11, tm_wday=6, tm_yday=105, tm_isdst=-1)
    >>> 

     1.5 全程

    >>> tt=time.time()
    >>> tt
    1523789896.6532319
    >>> tl=time.localtime(tt)
    >>> time.strftime('%Y-%m-%d',tl)   #丢失了 小时 分钟 等信息
    '2018-04-15'
    >>> time.strptime('2018-04-15','%Y-%m-%d')
    time.struct_time(tm_year=2018, tm_mon=4, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=105, tm_isdst=-1)
    >>> tl2=time.strptime('2018-04-15','%Y-%m-%d')
    >>> time.mktime(tl2)
    1523721600.0
    >>> 

    1.6 帮助

    >>> help(time.strftime)
    Help on built-in function strftime in module time:

    strftime(...)
    strftime(format[, tuple]) -> string

    Convert a time tuple to a string according to a format specification.
    See the library reference manual for formatting codes. When the time tuple
    is not present, current time as returned by localtime() is used.

    Commonly used format codes:

    %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.

    Other codes may be available on your platform. See documentation for
    the C library strftime function.

    >>>

    2 datetime模块

    2.1测试

    >>> 
    >>> ddn=datetime.datetime.now()
    >>> ddn
    datetime.datetime(2018, 4, 15, 19, 3, 47, 798172)
    >>> ddn.year
    2018
    >>> 

     2.2 转换

    time.time 转换为datetime对象格式

    >>> datetime.datetime.fromtimestamp(time.time())
    datetime.datetime(2018, 4, 15, 19, 9, 53, 623096)

    2.3 格式化

    >>> ddn=datetime.datetime.now()
    >>> ddn.strftime('%Y-%m-%d')
    '2018-04-15'
    >>> datetime.datetime.strftime(ddn,'%Y-%m-%d')
    '2018-04-15'

    2.4 日期相差

    >>> datetime.datetime.now()- datetime.timedelta(hours=3)
    datetime.datetime(2018, 4, 15, 16, 18, 19, 118009)
    >>> 
    >>> datetime.datetime.now()- datetime.timedelta(days=1)
    datetime.datetime(2018, 4, 14, 19, 18, 24, 542319)
    >>> 

     >>> datetime.datetime.now()- datetime.timedelta(minutes=30)
     datetime.datetime(2018, 4, 15, 18, 49, 5, 502662)
     >>>

     日期改写

    >>> ddn=datetime.datetime.now()
    >>> ddn
    datetime.datetime(2018, 4, 15, 19, 20, 20, 565955)
    >>> ddn.replace(year=2016)
    datetime.datetime(2016, 4, 15, 19, 20, 20, 565955)
    >>> 
  • 相关阅读:
    开源的Ajax.Net类库
    开放的即时通信协议Jabber
    代码生成工具之MyGeneration
    清华梦的粉碎—写给清华大学的退学申请(牛人 王垠 )
    [.NET网格计算框架] Alchemi
    .net安全类库
    使用Facility:EnterpriseLibrary整合进Castle
    castle project 发布新版本
    10招步骤保护IIS服务器安全
    应用IBatisNet+Castle进行项目的开发
  • 原文地址:https://www.cnblogs.com/infaaf/p/8847863.html
Copyright © 2011-2022 走看看