zoukankan      html  css  js  c++  java
  • python模块-datetime模块

     上面一篇已经讲了time模块,再来学习datetime模块。

     

    datetime主要有datetime、timedelta、time、date这4个子模块。

    a、datetime常用的函数(datetime对象)

    1、获取当前时间:结果为struct_time

    >>> a=datetime.datetime.now()
    >>> print a.year,a.hour,a.minute
    2017 15 58
    

    2、获取当天时间:结果为struct_time

    >>> datetime.datetime.today()
    datetime.datetime(2017, 9, 23, 16, 1, 34, 637868)
    

    3、格式化时间戳,结果为struct_time

    >>> datetime.datetime.fromtimestamp(time.time())
    datetime.datetime(2017, 9, 23, 16, 3, 26, 926928)
    

    4、datetime.datetime.strftime():结果为string_time

    >>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    '2017-09-23 16:10:05'
    

    5、datetime.datetime.strptime(),结果为struct_time

    >>> datetime.datetime.now().strptime('2016-10-11','%Y-%m-%d')
    datetime.datetime(2016, 10, 11, 0, 0)
    

    6、datetime的所有函数

    >>> dt=datetime.datetime.now()
    >>> dt.weekday()
    5
    >>> dt.
     dt.combine(           dt.min                dt.toordinal(
     dt.ctime(             dt.minute             dt.tzinfo
     dt.date(              dt.month              dt.tzname(
     dt.day                dt.now(               dt.utcfromtimestamp(
     dt.dst(               dt.replace(           dt.utcnow(
     dt.fromordinal(       dt.resolution         dt.utcoffset(
     dt.fromtimestamp(     dt.second             dt.utctimetuple(
     dt.hour               dt.strftime(          dt.weekday(
     dt.isocalendar(       dt.strptime(          dt.year
     dt.isoformat(         dt.time(              
     dt.isoweekday(        dt.timetuple(         
     dt.max                dt.timetz(            
     dt.astimezone(        dt.microsecond        dt.today(     
    

      

    b、timedelta,时间段,可以用来获取将来或过去某个时间

    timedelta是一个时间段,不是表示一个时间点。所以我们可以把时间段用来加减操作。

    比如:获取当天此时,明天此时,昨天此时,上周同一时刻

    >>> datetime.datetime.now() + datetime.timedelta(days=0)
    datetime.datetime(2017, 9, 23, 16, 21, 50, 308900)
    >>> datetime.datetime.now() + datetime.timedelta(days=1)
    datetime.datetime(2017, 9, 24, 16, 21, 57, 788849)
    >>> datetime.datetime.now() + datetime.timedelta(days=-1)
    datetime.datetime(2017, 9, 22, 16, 21, 59, 829977)
    >>> datetime.datetime.now() + datetime.timedelta(days=-7)
    datetime.datetime(2017, 9, 16, 16, 24, 41, 5906)
    >>> 
    

     

    可以通过days、hours、minutes、seconds、microseconds指定天、时、分、秒、微妙来获取将来或过去的某个时间点。

    >>> datetime.datetime.now() + datetime.timedelta(days=0)
    datetime.datetime(2017, 9, 23, 16, 32, 56, 16910)
    >>> datetime.datetime.now() + datetime.timedelta(days=-1,hours=1,seconds=10,minutes=2,microseconds=10)
    datetime.datetime(2017, 9, 22, 17, 35, 7, 392881)
    >>> datetime.datetime.now() + datetime.timedelta(days=1,hours=1,seconds=10,minutes=2,microseconds=10)
    datetime.datetime(2017, 9, 24, 17, 35, 10, 857056)
    >>> 
    

      

    c、date,生成一个日期对象,参数为:年、月、日

    date(year, month, day) --> date object

    >>> datetime.date(2017,9,23)
    datetime.date(2017, 9, 23)
    

      

    d、time,生成一个时间对象,参数为:时、分、秒、微妙

    time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) --> a time object

    >>> datetime.time(16,11,11,11)
    datetime.time(16, 11, 11, 11)
    

      

     

      

      

  • 相关阅读:
    Python中if __name__ == '__main__' 的作用和原理
    ajax请求参数为中文乱码的情况
    表单提交---前端页面模拟表单提交(form)
    mysql中函数DISTINCT,group by,CONCAT及GROUP_CONCAT的使用
    Java的反射机制及应用实例
    Java中的IO学习总结
    Form表单提交
    Java中equals和==的区别
    Java的String&StringBuffer&StringBuilder
    Java的Date类与Calendar类
  • 原文地址:https://www.cnblogs.com/skyflask/p/7581398.html
Copyright © 2011-2022 走看看