美文网首页
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