我正在努力处理python中的日期对象。你知道吗
我有以下数据:
from datetime import datetime, timedelta
# date retrieved from a list
ini = [u'2016-01-01']
# transform the ini in a readable string
ini2 = ', '.join(map(str, ini))
# transform the string a date object
date_1 = datetime.strptime(ini2, "%Y-%m-%d")
# number that is the length of the date
l = 365.0
# adding l to ini2
final = date_1 + timedelta(days = l)
现在我需要将整个间隔(即从date_1
到final
的时间段)分割成一个输入数字(例如ts=4),并给定另一个输入日期(例如new_date = u'2016-05-19'
),检查它是哪个间隔(例如5月19日是t2=2)。你知道吗
我希望我说得够清楚。你知道吗
谢谢 我尝试了不同的方法,但似乎没有一个是正确的。你知道吗
你可以用间隔的总秒数来计算。你知道吗
输出为:
编辑:清除变量命名,扩展代码段
这可能有助于:
请注意,此函数使用python索引,因此它将从第0季度开始,到第3季度结束。如果需要基于1的索引(因此答案将是1、2、3或4),则需要在结果中添加1。你知道吗
timedelta
对象支持除法,因此使用step
的楼层除法,您将在range(ts)
中得到一个间隔所以对于
date_1 <= new_date < date_1 + step
区间将是0,对于date_1+step<=new_date < date_1 + step*2
区间将是1,以此类推当然,这是使用python风格的索引,因此要获得从1开始的数字,请添加一个:
EDIT:划分timedelta对象的功能仅在python3中添加,您需要使用
.total_seconds()
方法在python2中进行计算:相关问题 更多 >
编程相关推荐