繁体   English   中英

如何根据当前日期在 C# 中获取会计年度的开始和结束? - 使用 SSIS 脚本任务

[英]How to get the start and end of Fiscal Year in C# based on current date? - Using SSIS Script Task

我创建了一个 SSIS Package 读取现有文件并根据文件名和工作表进行更改/移动。 我有一个同事编写的 C# 脚本任务,该任务在财政年度的开始和结束时手动更新; 但是,我们有其他人使用这个 package 所以我想自动化会计年度日期。

如何根据今天的日期获取当前会计年度的开始和结束日期?

我确实找到了制定财政年度的开始以及如何根据当前日期时间发现财政年度? 但是,我似乎无法获得投票最多的答案。 我正在使用Microsoft.Office.Interop.Excel的参考/命名空间,但我不确定这是否会有所不同。

  • 2021 财年为 09/01/2020 至 08/31/2021
  • 2022 财年为 2021 年 9 月 1 日至 2022 年 8 月 31 日
  • 2023 财年为 2022 年 9 月 1 日至 2023 年 8 月 31 日

今天是 08/19/2022,当前财政年度是 09/01/2021 - 08/31/2022,但是当我们到达 09/01/2022 时,它将更改为 09/01/2022 - 08/31/2023 .

这就是我现在使用的,多次调用 FYStart 和 FYEnd。

public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{ 
    public void Main()
    {

       //Update Fiscal Year Here (YYY, MM, DD): 
       DateTime FYStart = new DateTime(2021, 09, 01);
       DateTime FYEnd = new DateTime(2022, 08, 31);

听起来您是在说,如果当前月份大于 8,则会计年度开始于上一年。 否则今年就开始了。

如果是这样,这可以在代码中表示为:

public static int GetFinancialYearStart(DateTime input)
{
    return input.Month > 8 ? input.Year - 1 : input.Year;
}

然后我们可以调用这个方法来设置我们的开始和结束日期::

int fyStartYear = GetFinancialYear(DateTime.Now);
DateTime fyStart = new DateTime(fyStartYear, 09, 01);
DateTime fyEnd = new DateTime(fyStartYear + 1, 08, 31);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM