在日常工作中,经常遇到一下日期时间格式转化。例如时间比较、时间格式化、从字符串转化为日期等操作,本文将日常要的这些操作进行汇总备忘。

一、时间日期

想要时间格式比较,需要转化为统一的数据类型,例如转化为统一的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')

三、引文

  1. Basic date and time types
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐