python 时间日期

时间和日期常常会在编程中使用。

字符串和日期转换

  • strptime = “string parse time”
  • strftime = “string format time”
1
2
3
4
5
6
7
8
9
10
11
12
13
from datetime import datetime



datetime_obj = datetime.strptime('Jun 1 2005 1:33PM', '%b %d %Y %I:%M%p')


# datetime 转 str
date_str = datetime.strftime(datetime_obj, '%b %d %Y %I:%M%p')

# date 转 str
today = datetime.date.today()
today_str = today.strftime('%Y-%m-%d')

datetime 转 date

使用 date 函数转换

1
2
3
4
from datetime import datetime

date_str = '2019.01.22'
index_date = datetime.strptime(date_str, "%Y.%m.%d").date()

常用函数

1
2
3
4
5
6
7
8
9
10
11
12
13
# 获取当前日期
today = datetime.date.today()

# 昨天
yesterday = today + datetime.timedelta(-1)

# 明天
tomorrow = today + datetime.timedelta(1)

# 去年今天
from datetime import datetime
from dateutil.relativedelta import relativedelta
one_yrs_ago = datetime.now() - relativedelta(years=1)

日期比较

1
2
3
4
5
6
# date 类型比较
days = (today - tomorrow).days


# datetime 类型比较
datetime1 > datetime2