zoukankan      html  css  js  c++  java
  • time datetime

    time and datetime

    时间的三种变现方式:

    时间戳方式      #1970年以后的时间,以秒的形式显示出来

    元组方式          #也叫struct格式

    格式化的字符串    #2018-4-16 12:49:30 这个就是格式化字符串

    time模块的具体方法

    time.time()

    print(time.time())  #时间戳打印1970年到现在的秒数,####不能传参数
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 1523854191.0834622
    3 
    4 Process finished with exit code 0
    time.time()

    time.altzone()

    print(time.altzone)  #返回与utc时间的时间差,以秒计算
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 -32400
    3 
    4 Process finished with exit code 0
    time.altzone()

    time.gmtime()

    print(time.gmtime()) #获取当前的utf时间,以元组的形式表示出来,####可以传参数,参数为时间戳
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 time.struct_time(tm_year=2018, tm_mon=4, tm_mday=16, tm_hour=6, tm_min=4, tm_sec=53, tm_wday=0, tm_yday=106, tm_isdst=0)
    3 
    4 Process finished with exit code 0
    time.gmtime()

    time.localtime()

    print(time.localtime())  #获取当前时区的时间,以元组的形式表示出来,####可以传参数
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 time.struct_time(tm_year=2018, tm_mon=4, tm_mday=16, tm_hour=14, tm_min=6, tm_sec=19, tm_wday=0, tm_yday=106, tm_isdst=0)
    3 
    4 Process finished with exit code 0
    time.localtime()

    time.acstime()

    x=time.gmtime()
    print(time.asctime(x))  #返回时间格式 Mon Apr 16 12:38:30 2018 ##可以传参数,参数为‘元组’,不传参数就是当前时间
    print(time.asctime())   #不传参数返回了当前时间,跟上边的utc时间正好差了8小时
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 Mon Apr 16 05:11:46 2018  #带gmtime参数
    3 Mon Apr 16 13:11:46 2018  #不带参数的本地时间
    4 
    5 Process finished with exit code 0
    time.acstime()

    time.ctime()

    print(time.ctime(23333)) #返回时间格式 Thu Jan  1 14:28:53 1970 ##可以传参数,参数为时间戳,不传参数就是当前时间
    print(time.ctime())  #返回 Mon Apr 16 13:15:51 2018 的时间格式
    
    #这个acstime,ctime就是个天,月 , 时,分,秒,年的时间格式,acstime是元组参数,ctime是时间戳参数
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 Thu Jan  1 14:28:53 1970
    3 Mon Apr 16 13:15:51 2018
    4 
    5 Process finished with exit code 0
    time.ctime()

    time.mktime()

    x=time.localtime()
    print(time.mktime(x))    #将struct(元组)时间对象转换成时间戳
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 1523855990.0
    3 
    4 Process finished with exit code 0
    time.mktime()

    time.strftime()

    x=time.gmtime()
    print(time.strftime('%Y-%m-%d %H:%M:%S',x)) #根据‘格式’,把‘元组’转换成‘符合格式的时间字符串’
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 2018-04-16 05:24:51
    3 
    4 Process finished with exit code 0
    time.strftime()

    time.strptime()

    print(time.strptime('2016-12-03 12:33:44','%Y-%m-%d %H:%M:%S')) #把‘符合格式的时间字符串’根据‘格式’转换成符合格式内容的的‘元组(struct)’
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 time.struct_time(tm_year=2016, tm_mon=12, tm_mday=3, tm_hour=12, tm_min=33, tm_sec=44, tm_wday=5, tm_yday=338, tm_isdst=-1)
    3 
    4 Process finished with exit code 0
    time.strptime()

    小结

    #将元组转换为时间戳

    time.mktime()

    #将时间戳转换为元组

    time.gmtime()

    time.locatime()

    #将元组转换成指定格式(格式化字符串)

    strftime()

    #将指定格式(格式化字符串)转换成元组

    strptime()

     如下图

     acstime就是把元组转换成 天,月 , 时,分,秒,年的时间格式

     ctime就是把时间戳转换成 天,月 , 时,分,秒,年的时间格式

    格式参照

    %a    本地(locale)简化星期名称    
    %A    本地完整星期名称    
    %b    本地简化月份名称    
    %B    本地完整月份名称    
    %c    本地相应的日期和时间表示    
    %d    一个月中的第几天(01 - 31)    
    %H    一天中的第几个小时(24小时制,00 - 23)    
    %I    第几个小时(12小时制,01 - 12)    
    %j    一年中的第几天(001 - 366)    
    %m    月份(01 - 12)    
    %M    分钟数(00 - 59)    
    %p    本地am或者pm的相应符    一    
    %S    秒(01 - 61)    二    
    %U    一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。    三    
    %w    一个星期中的第几天(0 - 6,0是星期天)    三    
    %W    和%U基本相同,不同的是%W以星期一为一个星期的开始。    
    %x    本地相应日期    
    %X    本地相应时间    
    %y    去掉世纪的年份(00 - 99)    
    %Y    完整的年份    
    %Z    时区的名字(如果不存在为空字符)    
    %%    ‘%’字符

    datetime

    时间加减

    datetime.timedelta()     #有参数,默认为日,可以指定 时 ,分 ,秒 等

    import datetime
    print(datetime.datetime.now())  #返回当前时间,以字符串的形式
    print(datetime.date.fromtimestamp(time.time()))  #把当前的时间戳转换成日期格式(字符串形式)
    print(datetime.date.fromtimestamp(2333))          #指定时间戳转换成日期格式
    #日期加减
    print(datetime.datetime.now()+datetime.timedelta(3)) #当前时间加3天
    print(datetime.datetime.now()+datetime.timedelta(-3)) #当前时间减3天
    print(datetime.datetime.now()+datetime.timedelta(hours=3)) #当前时间加3小时
    print(datetime.datetime.now()+datetime.timedelta(minutes=30)) #当前时间减3小时
     1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
     2 2018-04-16 13:48:27.290047  
     3 2018-04-16       #时间戳是当前时间
     4 1970-01-01       #时间戳是2333
     5 2018-04-19 13:48:27.290047
     6 2018-04-13 13:48:27.290047
     7 2018-04-16 16:48:27.290047
     8 2018-04-16 14:18:27.290047
     9 
    10 Process finished with exit code 0        
    datetime

    时间替换

    datetime.replace()     #需要指定参数

    time_1  = datetime.datetime.now()
    print(time_1)
    print(time_1.replace(minute=3,hour=2)) #时间替换
    1 C:UsersqiangqlAppDataLocalProgramsPythonPython36-32python.exe C:/Users/qiangql/PycharmProjects/untitled1/time_test.py
    2 2018-04-16 13:52:12.023518
    3 2018-04-16 02:03:12.023518
    4 
    5 Process finished with exit code 0
    datetime.replace()
  • 相关阅读:
    time 模块学习
    day 14 自定义模块,常用模块 time .datetime ,time 模块
    day 13 课后作业
    day 12 课后作业
    day 11课后作业
    树状数组最值
    hdu 1059 Dividing bitset 多重背包
    XVII Open Cup named after E.V. Pankratiev. XXI Ural Championship
    最长公共子序列板/滚动 N^2
    Uva 10635
  • 原文地址:https://www.cnblogs.com/PYlog/p/8855549.html
Copyright © 2011-2022 走看看