python时间日期对象常见操作用法总结

目录

  • 前言
  • import
  • 获取当前时间
  • 从时间日期对象获取格式化时间字符串
  • 通过字符串获取时间日期对象
  • 获取年月日时分秒
  • 时间差

前言

在用python写后台的时候经常会用到时间的判断,今天来总结一下常见的时间日期操作。

import

通过

from datetime import datetime

可以快速引入时间与日期模组。这个模块是python自带的,无需pip安装即可使用。

获取当前时间

通过

cur = datetime.now()
print(cur)

可以快速查看当前时间
在这里插入图片描述

但是这是一个时间日期对象而不是字符串,这意味着我们对其操作不是很方便。但是时间的比较,做差,等等操作均需要在时间日期对象的层面上进行。

从时间日期对象获取格式化时间字符串

通过时间日期对象strftime() 方法获取其格式化的字符串,参数为格式字符串

通过以下代码可以获取格式化的时间字符串,其中带%的表示年月日时分秒,其他字符为格式字符。

cur = datetime.now().strftime("%Y hello %m world %d --- %H : %M : %S")
print(cur)

输出:
在这里插入图片描述

格式化字符串与输出结果的对照

  %Y hello %m world %d --- %H : %M : %S
2020 hello 08 world 11 --- 13 : 37 : 04

python时间日期对象常见操作用法总结_第1张图片
当然只获取时间或者是只获取日期,也是可以的

curDate = datetime.now().strftime("%Y - %m - %d")
curTime = datetime.now().strftime("%H : %M : %S")
print(curDate)
print(curTime)

在这里插入图片描述

通过字符串获取时间日期对象

通过时间日期对象strptime() 方法获取其格式化的字符串,参数为时间字符串, 时间格式字符串

obj= datetime.strptime(时间字符串, 时间格式字符串)

值得注意的是,字符串格式对照和上文提到的完全相同。

比如我们希望得到 2035年11月4日 5:14时间日期对象,可以通过如下代码

cur = datetime.strptime("2035-11-04 05:14:00", "%Y-%m-%d %H:%M:%S")
print(cur, type(cur))

输出
在这里插入图片描述

获取年月日时分秒

通过时间日期对象的属性即可获取,值得注意的是,如果月份是 04 那么获取到的数字是 4

同样拿2035年11月4日 5时 14分 19秒举例

cur = datetime.strptime("2035-11-04 05:14:19", "%Y-%m-%d %H:%M:%S")
print(cur.year)
print(cur.month)
print(cur.day)
print(cur.hour)
print(cur.minute)
print(cur.second)

输出
在这里插入图片描述

时间差

使用时间差,我们可以通过两个时间日期对象相减,得到timedelta对象,然后判断相差的时间

time_1 = datetime.strptime("2035-11-04 05:14:19", "%Y-%m-%d %H:%M:%S")
time_2 = datetime.now()

delta = time_1 - time_2
print(delta, type(delta))
print(delta.days)
print(delta.seconds)

在这里插入图片描述
值得注意的是,.days是绝对相差的天数。而.second则是不考虑天数,单纯计算同一天内相差多少秒。这里可以看到只相差了5万秒,其实就是15个小时。在编程计算日期的时候要小心,务必结合days来做判断。

你可能感兴趣的:(python,python,字符串)