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

    时间的三种格式:
    1)时间戳
    2)格式化的时间字符串
    3)元组(struct_time):time.struct_time(tm_year=1970, tm_mon=5, tm_mday=23, tm_hour=20, tm_min=7, tm_sec=14, tm_wday=5, tm_yday=143, tm_isdst=0)
    元组中的9个元素分别对应:年、月、日、时、分、秒、星期几(要减去1,默认星期一是0)、一年的第几天、是否是夏令时

    time模块:

    获取时间戳:

    timeStamp = time.time()
    print(timeStamp) # 当前时间;时间戳格式

    时间戳 -----> 时间元组:

    # 时间戳--->元组
    print(time.gmtime(12341234))  # 时间元组;获取某个时间戳的UTC时间(不写参数则为当前时间)
    print(time.localtime())       # 时间元组;获取某个时间戳的本地时间(不写参数则为当前时间)
    print(time.localtime().tm_year)  # 获取元组中某个元素的值

    时间元组 ------> 时间戳:

    # 时间元组--->时间戳
    tupleTime = time.localtime()    # 当前时间的时间元组
    print(time.mktime(tupleTime))   # 时间戳

    时间元组------> 格式化字符串:

    # 时间元组--->格式化字符串
    print(time.strftime('%Y-%m-%d %H:%M:%S, %a,%A,%b,%B,%c,%I,%j,%p,%U,%w,%W,%x,%X,%y',tupleTime)) 
    print(time.strftime('%x %X',tupleTime))
    

    ''' %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 时区的名字(如果不存在为空字符) %% ‘%’字符'''

    格式化字符串-------> 时间元组:

    # 格式化时间字符串--->时间元组
    print(time.strptime('2019-12-01 21:29:30','%Y-%m-%d %H:%M:%S'))

    时间元组、时间戳---------> 固定格式字符串

    # 时间元组/时间戳--->固定格式字符串
    print(time.asctime())
    print(time.ctime(timeStamp))

    2. datetime模块

    datetime模块是对time模块的封装,本质没有太大区别

    import datetime
    print('datetime'.center(50,'-'))
    current_time = datetime.datetime.now()
    print(current_time)                            # 当前格式化的时间
    print(datetime.date.fromtimestamp(timeStamp))  # 时间戳转换成年月日
    print(datetime.datetime.now()+datetime.timedelta(3))  # 三天后的时间,可以为负数,为几天前
    print(datetime.datetime.now()+datetime.timedelta(hours=3)) # 几小时后的时间
    print(datetime.datetime.now()+datetime.timedelta(minutes=3))
    print(datetime.datetime.now()+datetime.timedelta(weeks=3))
    
    # 时间的替换
    print(current_time.replace(year=2012,month=12,day=12,hour=12,minute=12,second=12,microsecond=12))
  • 相关阅读:
    for...in 循环对象原型链问题
    移动端表单禁用软键盘
    将一个普通数组映射为对象数组
    npm install命令详解
    Elasticsearch High Level REST Client
    Guava: Google Core Libraries for Java
    Java Interview Programming Questions
    2017 OWASP TOP 10
    17 Popular Java Frameworks in 2018
    10 Popular PHP frameworks in 2019
  • 原文地址:https://www.cnblogs.com/wztshine/p/11777874.html
Copyright © 2011-2022 走看看