我正在使用datetime Python模块.我想计算从当前日期起6个月的日期.有人可以给我一点帮助吗?
我想要从当前日期起6个月生成日期的原因是生成审核日期.如果用户将数据输入系统,则其审核日期为自输入数据之日起6个月.
所以我试图找到一种方法将datetime对象增加一个月.然而,根据这个问题,似乎并非如此简单.
我希望有类似的东西:
import datetime as dt
now = dt.datetime.now()
later = now + dt.timedelta(months=1)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我也希望能够在下个月(如果可能的话)去同一天(或最接近的替代方案).例如,DateTime对象定在1月1日将递增到2月1日,而设定在2月28日期时间对象将递增到3月31日,而不是3月28日或东西.
需要明确的是,2月28日将(通常)映射到3月31日,因为它是该月的最后一天,因此它应该到下个月的最后一天.否则它将是一个直接链接:增量应该在下一个月的日期与相同的编号日.
在当前版本的Python中有没有一种简单的方法可以做到这一点?
您好我正试图relativedelta从dateutil模块中使用.
我想做这里提到的,给一个给定的datetime对象增加几个月.
但我正在尝试使用Python 3,我收到以下错误:
Traceback (most recent call last):
File "bin/controller.py", line 2, in <module>
from dateutil.relativedelta import relativedelta
ImportError: No module named 'dateutil'
Run Code Online (Sandbox Code Playgroud)
然后我读到dateutil现在是Python 3的一部分,但我该如何导入呢?
import dateutil似乎不起作用:
Traceback (most recent call last):
File "bin/controller.py", line 3, in <module>
import dateutil
ImportError: No module named 'dateutil'
Run Code Online (Sandbox Code Playgroud)
我正在使用virtualenv所以我想安装它pip.
我想每月创建一个给定数量日期的列表(或数组或其他任何内容)。
基本上我想要的是这个
>>>some_function(start_date=date(2005, 5, 14), periods=4, freq='M')
['2005-05-14', '2005-06-14', '2005-07-14', '2005-08-14']
Run Code Online (Sandbox Code Playgroud)
如果 startmonth 的那一天接近月底,我想要这个
>>>some_function(start_date=date(2007, 12, 31), periods=4, freq='M')
['2007-12-31', '2008-01-31', '2008-02-29', '2008-03-31']
Run Code Online (Sandbox Code Playgroud)
我知道 pandas date_range 函数,但是它会产生这个
pd.date_range(date(2005, 5, 14), periods=4, freq='M')
Out[1]: DatetimeIndex(['2005-05-31', '2005-06-30', '2005-07-31', '2005-08-31'],
dtype='datetime64[ns]', freq='M')
Run Code Online (Sandbox Code Playgroud)
即它将月末设置为日期。这不是我想要的。
显然,这可以在周期数上迭代产生,但是当 startmonth 的日期接近该月的最后一天时,这会产生麻烦。
有没有人知道产生这个的函数,或者上面概述的方法是唯一的方法?
我需要创建一个日期变量来存储当前日期,并且我需要另一个变量来存储截止日期(天+ 1 个月),但我似乎做错了一些事情。
import datetime
day = datetime.date.today()
deadline = datetime.date.today()
deadline.month += 1
print(day)
print(deadline)
Run Code Online (Sandbox Code Playgroud) >>> start_date = date(1983, 11, 23)
>>> start_date.replace(month=start_date.month+1)
datetime.date(1983, 12, 23)
Run Code Online (Sandbox Code Playgroud)
这个工作直到月份<=11,我一直这样做
>>> start_date = date(1983, 12, 23)
>>> start_date.replace(month=start_date.month+1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: month must be in 1..12
Run Code Online (Sandbox Code Playgroud)
如何在12月新增月份时增加月份的增量?
我试图delta通过从nth下个月的日期减去今天的日期来获取日期.
delta = nth_of_next_month - todays_date
print delta.days
Run Code Online (Sandbox Code Playgroud)
如何获得下个月的第1天(或第2天,第3天)的日期对象.我尝试从日期对象中取出月份数并将其增加1.这显然是一个愚蠢的想法,因为12 + 1 = 13.我还尝试添加一个月到今天并试图到达本月的第一天.我相信有一种更有效的方法可以做到这一点.
我使用datetime,我有:
delta = ((datetime.date.today() + datetime.timedelta(days=1)) - datetime.timedelta(???)).isoformat()
Run Code Online (Sandbox Code Playgroud)
我需要更换??? 从一天到月底.
怎么做?
这是我的代码:
MYDATE = []
start_date = "2011-01-01"
stop_date = "2013-05-01"
start = start_date.strftime("%Y-%m-%d")
stop = stop_date.strftime("%Y-%m-%d")
for r in .......:
MYDATE.append((r,r))
Run Code Online (Sandbox Code Playgroud)
我如何可以遍历日期betweet start_date和stop_date?