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()
  • 相关阅读:
    2020牛客寒假算法基础集训营4-I 匹配星星【贪心】
    P1880 [NOI1995]石子合并【区间dp】
    P1280 尼克的任务
    P1041 传染病控制【暴搜】
    Heavy Transportation POJ
    【空间】C++内存管理
    【编译器】G++常用命令
    【NOIP2011】【Luogu1003】铺地毯
    【Luogu1739】表达式括号匹配
    【Luogu1160】队列安排
  • 原文地址:https://www.cnblogs.com/PYlog/p/8855549.html
Copyright © 2011-2022 走看看