ank*_*_91 4 python datetime python-3.x pandas
我正在尝试根据今天的日期获取财政年度的开始日期。
因此,经过一番研究后,我发现了这个软件包,名为“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')
Run Code Online (Sandbox Code Playgroud)
哪个输出正确:
'2018-07-01'
Run Code Online (Sandbox Code Playgroud)
然而,当月份变成八月时,这将不起作用,因为它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'))
Run Code Online (Sandbox Code Playgroud)
我对自己正在做的事情有一种不好的预感,因为这现在可能也适用于闰年。
在 python 中是否有更好的方法可以根据当前时间戳检测财政年度的开始日期?
py版本:3.6.7
我在财政领域的知识接近于零,但根据[ReadTheDocs.FiscalYear]:基本用法:
该类
FiscalYear提供一个对象,用于存储有关特定会计年度的开始和结束的信息。...
上述每个对象的开始和结束都存储为类的实例
FiscalDateTime。此类提供与 类相同的所有功能datetime,此外还具有查询会计年度、会计季度、会计月份和会计日的功能。
因此,FiscalYear不能与日期一起使用,而是与FiscalDateTime(或其更简单的兄弟:FiscalDate)一起使用。
Run Code Online (Sandbox Code Playgroud)>>> import fiscalyear >>> fiscalyear.START_MONTH = 7 >>> >>> cur_y = fiscalyear.FiscalYear(datetime.datetime.now().year) >>> cur_y.start.date() datetime.date(2018, 7, 1) >>> cur_y.end.date() datetime.date(2019, 6, 30) >>> >>> cur_dt = fiscalyear.FiscalDate(2019, 2, 19) # Current date (at answer time) >>> cur_dt.fiscal_year 2019 >>> >>> jul_dt = fiscalyear.FiscalDate(2019, 7, 19) # A date past July 1st (when the fiscal year should change) >>> jul_dt.fiscal_year 2020
小智 5
您可以尝试以下代码,它对我有用:
>>> import fiscalyear
>>> fiscalyear.START_MONTH = 4
>>> fiscalyear.FiscalYear.current()
FiscalYear(2021)
>>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15043 次 |
| 最近记录: |