- 英文的月份转数字及数字转英文
import calendar
# 数字转月份的简写
calendar.month_abbr[12]--> 'Dec'
# 简写月份转数字
list(calendar.month_abbr).index('Dec')--> 12
# 数字转月份的全写
calendar.month_name[12]--> 'December'
# 月份转数字
list(calendar.month_name).index('December')--> 12
2. 年月日时分秒对应-->"%Y-%m-%d%H:%M:%S"
3. datetime日期加N天 checking_date + datetime.timedelta(days=N), N可以是负数 表示减。
注意datetime格式指的是通过datetime.datetime.strptime(weibo_text_lst[1], '%Y-%m-%d')获得,但是 datetime.timedelta(days=N)中的datetime来源于import datetime.
例子:
import datetime
checking_date = datetime.datetime.strptime(weibo_text_lst[1], '%Y-%m-%d')+ datetime.timedelta(days=1)
说明:
(1)可以把days改为hours minutes,就可以提前XX小时/分钟了。
timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[,
hours[, weeks]]]]]]])
(2)加减一年
from dateutil.relativedelta import relativedelta
checking_date = datetime.datetime.strptime('2028-09-19', '%Y-%m-%d') +/- relativedelta(years=1)
4. datetime日期比较大小
datetime日期a和b直接比较, a>b是真的,返回true;反之返回false
4.1 datetime日期计算相差几天/几小时/几秒等。
(b-a).seconds #时间差的计算,单位为秒
#timedelta可以查看:天数(days),秒数(seconds)等。
5. float型数字转化成datetime格式
code:
def float_time(float_value):#datetime.fromtimestamp('1347334462').strftime('%Y-%m-%d')return datetime.datetime.fromtimestamp(float_value).strftime('%Y-%m-%d')
6. string类型格式转化为datetime格式
codes:
def str_time(str_value='Fri Jan 18 11:00:05 +0800 2013'):from datetime import datetimeimport calendar
print(str_value.split())
month = list(calendar.month_abbr).index(str_value.split()[1])
time_s = str_value.split()[3]return datetime.strptime(str_value.split()[-1]+'-'+str(month)+'-'+str_value.split()[2]+'-'+time_s, '%Y-%m-%d-%H:%M:%S')
def str_time(str_value='2013-01-18'):from datetime import datetimereturn datetime.strptime(str_value, '%Y-%m-%d')
说明:
(1)strptime(str,format),字符转化成日期
7. 日期差
datetime1 - datetime2获得两个datetime类型的日期差
8.日期转化成秒
pub_time = datetime.datetime.strptime(ele['pub_time'], '%m/%d/%Y')
pub_time_seconds = time.mktime(pub_time.timetuple())
9. 通过日期定位到一年的第几个星期第几天
import datetime
(year, week_th, week_day) = datetime.datetime.strptime(time, '%Y-%m-%d %H:%M:%S').isocalendar()