美文网首页
python学习笔记-tip57(Python内建模块之date

python学习笔记-tip57(Python内建模块之date

作者: 黑键手记 | 来源:发表于2018-12-03 00:29 被阅读16次

    简介

    「datetime」是 python 用来处理日期和时间的标准库

    功能点依次介绍

    • 1、获取当前日期和时间

    由上例可见,now 对象是 datetime 类型的,值为当前的时间

    • 2、构造一个 datetime 对象,并打印


      上例中,使用

        datetime(年,月,日,时,分,秒,毫秒)
      

    的方式进行了构造,所以打印出来也是对应的

    • 3、datetime 转 timestamp

    先说明一下:

    timestamp 一旦确定,那么 UTC 时间就确定了,转换到任意时区的时间也是确定的,所以计算机存储当前时间是以 timestamp 方式表示的,因为全球各地的计算机在任意时刻的 timestamp 都是完全相同的(假定时间已经校准)

    所以说

    时间戳 timestamp 的值和时区没有关系,这就是为什么做前后端交互时,广泛使用timestamp 的原因

    下面,请看 datetime 转 timestamp 的用法



    如图,很简单,就是将 datetime 对象直接调用 timestamp方法即可
    需要注意的是 timestamp 是浮点数,当有小数位时,小数位表示的是毫秒数

    • 4、timestamp 转 datetime

      将时间戳转换为 datetime ,那么只需要调用 datetime 模块中的 fromtimestamp()方法即可
      我们将步骤3的毫秒值利用一下,看下示例



      很简单,但是需要注意的是,上面的 timestamp 转datetime 是根据本地时间进行的转化,而本地时间是指当前操作系统设置的时区。不同地区不同国家的 相同的时间戳 timestamp 的转化,是不一样的,是根据时区设定的。

    当然,如果想要把时间戳 timestamp 转换成标准时区(UTC+0:00),我们可以这样做


    • 5、str 转 datetime
      一般情况下,我们会根据用户输入的时间 str 转化成我们对应的时间,这个时候就需要用到
      str 转 datetime了
      只需要用到 datetime 中的 strptime() 方法即可,但是前提是:需要一个日期和时间格式化的字符串


    • 6、datetime 的加减
      python 为我们提供了很方便的方式进行日期的加减,其中核心的功能是听过 datetime 模块中的
      timedelta 类提供的,通过 timedelta 的构造方法 构造出我们需要操作的时间,然后进行运算就可以了
      请看示例

    • 7、本地时间转化成 UTC 时间


    • 8、时区转化

    • 直接通过 datetime 对象 的replace 方法去替换 tzinfo 的时区

    • astimezone() 直接更改

    总结

    datetime表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。

    如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。

    相关文章

      网友评论

          本文标题:python学习笔记-tip57(Python内建模块之date

          本文链接:https://www.haomeiwen.com/subject/btkecqtx.html