zoukankan      html  css  js  c++  java
  • python模块 | 时间处理模块—datetime模块

    在python中,与时间处理相关的模块有 time,datetime,calendar。

    时间的两个概念:

    UTC(世界协调时):
    整个地球分为二十四时区,每个时区都有自己的本地时间。格林威治天文时间(GMT),世界标准时间。在中国为UTC+8,即东八区时间。
    时间戳( timestamp):
    时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。

    一、导入 datetime 模块

    获得当前时间,datetime.datetime.now()方法

    from datetime import datetime
    now=datetime.now()
    print(now)
    
    输出:
    2020-03-01 13:13:42.702864
    

    构建时间类型 datetime.datetime(时间:年-月-日……),输出时间戳 时间.timestamp(),这里的时间是<class ‘datetime.datetime’>类型。

    from datetime import datetime
    newtime=datetime(2020,1,1,0,0,0)	#新建一个时间类型数据
    print(newtime)
    data=newtime.timestamp()			#构建时间戳
    print(data)
    
    输出:
    2020-01-01 00:00:00
    1577808000.0		#1970.1.1 0:0:0 - 2020.1.1 0:0:0 经历的秒数
    

    时间戳转换成 datetime 类型 datetime.datetime.fromtimestamp(时间戳)

    # 接上述代码
    tm=datetime.fromtimestamp(data)
    print(tm)
    
    输出:
    2020-01-01 00:00:00
    

    二、时间与字符串

    字符串类型转换为datetime 类型

    通用格式datetime.datetime.strptime(str,"%Y-%m-%d %H:%M")

    from datetime import datetime
    str="2020-1-1 0:0"
    tm=datetime.strptime(str,"%Y-%m-%d %H:%M")
    print(tm)
    
    输出:
    2020-01-01 00:00:00
    

    常见时间格式化符号:

    格式符 时间格式
    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-999
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小时制小时数(0-23)
    %I 12小时制小时数(01-12)
    %M 分钟数(00-59)
    %S 秒(00-59)
    %a 本地简化星期名称
    %A 本地完整星期名称
    datetime 类型转换为字符串类型

    时间.strftime("%c"),这里的时间是 <class ‘datetime.datetime’> 类型

    from datetime import datetime
    tm=ime=datetime(2020,1,2,12,30,0)	#时间 2020-1-2 12:30:00
    print(tm)
    
    print(tm.strftime("%Y-%m-%d"))      # 输出年-月-日
    print(tm.strftime("%H:%M"))         # 输出时间
    print(tm.strftime("%A"))            # 输出星期
    print(tm.strftime("%c"))            # 适当日期和时间表示
    # 适当日期 适当的时间 表示
    print(tm.strftime("%x, %X"))        # 日/月/年  时:分:秒
    
    输出:
    2020-01-02 12:30:00  
    2020-01-02                     # 输出年-月-日
    12:30                          # 输出时间
    Thursday                       # 输出星期
    Thu Jan  2 12:30:00 2020       # 适当日期和时间表示
    01/02/20, 12:30:00             # 日/月/年  时:分:秒
    

    三、时间类型的运算

    时间运算需要借助 timedelta 类。

    from datetime import datetime,timedelta
    now=datetime.now()
    print(now)
    print(now-timedelta(hours=2))           # 减去两个小时
    print(now-timedelta(days=2,hours=2))    # 减去两天,两小时
    
    输出:
    2020-03-01 14:08:45.689264
    2020-03-01 12:08:45.689264
    2020-02-28 12:08:45.689264
    

    更多详情请参考:
    python官方文档:datetime类型 https://docs.python.org/3/library/datetime.html

  • 相关阅读:
    [Real World Haskell翻译]第24章 并发和多核编程 第一部分并发编程
    [Real World Haskell翻译]第22章 扩展示例:Web客户端编程
    [Real World Haskell翻译]第27章 网络通信和系统日志 Sockets and Syslog
    druid 解密
    git clone 所有远程分支到本地
    十、Delphi 把Json转成Delphi实体类
    XML External Entity attack/XXE攻击
    大家好!
    XXE攻防——XML外部实体注入
    ubuntu安装Go环境
  • 原文地址:https://www.cnblogs.com/TaoR320/p/12680108.html
Copyright © 2011-2022 走看看