网页上有很多关于标题上我提到的一些方法,今天我将我收集到的整合一下~~
- 用户输入两个日期,输出两日期之间的日期
def getBetweenDay(begin_date,end_date):
date_list = []
begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d")
end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d")
while begin_date <= end_date:
date_str = begin_date.strftime("%Y-%m-%d")
date_list.append(date_str)
begin_date += datetime.timedelta(days=1)
return date_list
2.计算两个日期相差的天数
def Caltime(date1, date2):
# %Y-%m-%d为日期格式,其中的-可以用其他代替或者不写,但是要统一,同理后面的时分秒也一样;可以只计算日期,不计算时间。
# date1=time.strptime(date1,"%Y-%m-%d %H:%M:%S")
# date2=time.strptime(date2,"%Y-%m-%d %H:%M:%S")
date1 = time.strptime(date1, "%Y%m%d")
date2 = time.strptime(date2, "%Y%m%d")
date1 = datetime.datetime(date1[0], date1[1], date1[2])
date2 = datetime.datetime(date2[0], date2[1], date2[2])
return date2 - date1
#这里要注意输出的天数是要➕1的
3.一个日期推迟或提前N天对应的日期
def datedays(startT,dayS):
print(type(dayS))
fmt = '%Y%m%d'
time_tuple = time.strptime(startT, fmt)
year, month, day = time_tuple[:3]
a_date = datetime.date(year, month, day)
d1 = a_date + datetime.timedelta(days=dayS)
d2 = a_date - datetime.timedelta(days=dayS)
return d1,d2
4.字符串与时间戳的转换
#输入字符串转换为时间戳
import time
a = "2013-10-10 23:40:00"
将其转换为时间数组
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
转换为时间戳:
timeStamp = int(time.mktime(timeArray))
#时间戳转字符串
import datetime
获得当前时间
now = datetime.datetime.now() ->这是时间数组格式
转换为指定的格式:
otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")