【发布时间】:2019-07-12 17:26:53
【问题描述】:
我正在尝试根据今天的日期获取财政年度的开始日期。
所以经过一番研究,我发现了这个名为fiscalyear 的包,您可以在其中修改会计年度的开始日期。就我而言,我希望 01-07-year 成为我会计年度的开始日期,所以我设置了 fiscalyear.START_MONTH = 7
我已经尝试过以下方法(如果您pip install fiscalyear,则可以重现示例):
import datetime
import fiscalyear
fiscalyear.START_MONTH = 7
a = fiscalyear.FiscalYear(datetime.datetime.now().year).start.date()
a.strftime('%Y-%m-%d')
哪个输出正确:
'2018-07-01'
但是,当月份转到 8 月时,这将不起作用,因为 datetime.datetime.now().year 不会更改。所以我尝试做类似的事情:
if (datetime.datetime.now()-pd.to_datetime('2018-07-01')).days < 365:
a = fiscalyear.FiscalYear(datetime.datetime.now().year).start.date()
print(a.strftime('%Y-%m-%d'))
else:
a = fiscalyear.FiscalYear(datetime.datetime.now().year+1).start.date()
print(a.strftime('%Y-%m-%d'))
我对自己正在做的事情有一种不好的感觉,因为现在这可能也适用于闰年。
在 python 中是否有更好的方法可以根据当前时间戳检测会计年度的开始日期?
py 版本:3.6.7
【问题讨论】:
-
“但是,到了八月就不行了”是什么意思?你说的是哪个月份?当前或
fiscalyear.START_MONTH?
标签: python python-3.x pandas datetime