简介
「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的值与时区完全无关。
网友评论