我如何发现给定日期的季度

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

以下是财政年度的宿舍

April to June          - Q1
July to Sep            - Q2
Oct to Dec             - Q3
Jan to March           - Q4

如果输入日期的月份如上所述,我需要以季度数字的形式输出。

例如,

如果我给出一个输入日期(比如说1月2日),我需要输出Q4

如果我给(6月5日)输入,输出应该给Q1

根据输入日期,我需要季度号码。

提问于
用户回答回答于

你可以简单地写一个方法

public static int GetQuarter(DateTime date)
{
    if (date.Month >= 4 && date.Month <= 6)
        return 1;
    else if (date.Month >= 7 && date.Month <= 9)
        return 2;
    else if (date.Month >= 10 && date.Month <= 12)
        return 3;
    else 
        return 4;
}
用户回答回答于

如果更喜欢短而简洁的解决方案而不使用分支和阵列,这里是我的首选解决方案。

正常季度:

public static int GetQuarter(this DateTime date)
{
    return (date.Month + 2)/3;
}

财政年度季度:

public static int GetFinancialQuarter(this DateTime date)
{
    return (date.AddMonths(3).Month + 2)/3;
}

整数除法将截断小数,给你一个整数结果。将方法放置到一个静态类中,你将有一个扩展方法来使用,如下所示:

date.GetQuarter()
date.GetFinancialQuarter()

所属标签

可能回答问题的人

  • 应用案例分享

    1 粉丝490 提问4 回答
  • 找虫虫

    5 粉丝0 提问3 回答
  • 桑先生

    14 粉丝0 提问3 回答
  • 嗨喽你好

    8 粉丝480 提问3 回答

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动