Python中对日期/ 时间元素的处理
import calendar
from datetime import datetime, timedelta, date
字符串型的日期转成datetime
datetime.strptime('2021/12/22', "%Y/%m/%d").date()
这个方法的好处是运算起来比较快。缺点是我们每次都要告诉 Python,我们的字符串是什么样的日期格式。
另外有一个非常省事的方法,就是调用 Pandas 包,只要输入字符串就行不需要输入日期的类型:
pd.to_datetime('20191231')
缺点是,在去掉了对于日期格式的明确指定以后,容易出现一些对于日期书写方式的混淆。例如,年月日到底是按照什么循序写的,并不是特别明确。
datetime转成字符串
dt.strftime("%Y-%m-%d %H:%M:%S")
获取今天的日期
date.today()
获取每个月的天数
import calendar
# 例如获取9月的天数
print(calendar.mdays[9])
test = data['next_payment'][0] # 提取dataframe里面的一个时间
test # datetime
test.day # 提取几号
test.month # 提取月份
test.weekday() # 提取星期几,一周从星期一开始,周一是0
calendar.day_name[test.weekday()] # 提取星期几,文字
test.isocalendar()[1] # 获取是一年的第几个周
datetime.timestamp(test) # 将日期转换为时间戳
date(2021, 12, 28) # 构造一个日期