在日常工作中,经常遇到一下日期时间格式转化。例如时间比较、时间格式化、从字符串转化为日期等操作,本文将日常要的这些操作进行汇总备忘。
一、时间日期
想要时间格式比较,需要转化为统一的数据类型,例如转化为统一的Date类型,或Time类型,或DateTime类型。
1.1 Date操作
#!/bin/python
# -*- coding: UTF-8 -*-
import time
import datetime
## 获取当前的日期
today = date.today()
## 获取当前的时间戳
now = time.time()
## 时间戳日期相互转化
date = date.fromtimestamp(1585138687)
time = time.mktime(date.timetuple())
## 判断操作
生成昨天的日期:
yestoday = date.today() - datetime.timedelta(1)
生成明天的日期:
tom = date.today() _ datetime.timedelta(1)
二、时间格式化
工具包有强大的格式化输出功能,例如isoformat、strftime等输出方法。主要总结一下常见的日期格式输出
#!/bin/python
# -*- coding: UTF-8 -*-
from dateutil import parser
import datetime
import pytz
## 普通格式化
### 生成时间对象
dt = datetime.datetime([year],[month],[day])
dt = datetime.strptime('2020/03/25',"%Y/%m/%d")
### 格式化输出
dt_str = dt.strftime("%Y/%m/%d")
dt_stt = dt.strftime("%Y-%m-%d")
## 带有时间格式化
### 生成时间日期对象
dt = datetime.datetime([year],[month],[day],[hour],[minute],[seconds])
dt = dattime.datetime.strptime('2020-03-25 10:10:10','%Y-%m-%d %H:%M:%S')
### 格式化输出
dt_str = dt.strftime('%Y-%m-%d %H:%M:%S')
dt_str = dt..isoformat() ## 2020-03-25T10:10:10
## 包含毫秒
format_string: %Y-%m-%d %H:%M:%S.%f
## 带有时区格式化
### 格式化
datetime.datetime.now(pytz.timezone('Asia/Shanghai')).strftime('%Y-%m-%dT%H:%M:%S.%f%z')
### 从字符串转化为datetime
datetime = parser.parser('2020-03-25T20:46:24.511426+0800')
三、引文
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!