c# - 我如何发现给定日期的四分之一

标签 c#

以下是一个财政年度的季度

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

如果输入日期的月份如上所示,我需要按季度编号输出。

例如,

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

如果我将输入作为 (Jun 5),则输出应为 Q1

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

最佳答案

如果您更喜欢没有分支和数组的简短解决方案,这是我的首选解决方案。

正常季度:

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()

参见 dotnetfiddle

关于c# - 我如何发现给定日期的四分之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8698303/

相关文章:

C# Xml - 名称字符无效;名称中不能包含 ' ' 字符

c# - 在我的 Xamarin.Forms PCL 项目中实现 FlyoutNavigation

c# - 如何选择 XML 节点? (使用 LINQ、XPath,什么都可以)

C# 位图 - 找不到如何删除 OutOfMemoryException

c# - 使用 C# CryptoStream 的 Java 等价物加密和解密字符串

c# - Xamarin Forms 和 Prism Navigation 历史记录

c# - 比较来自 Type.GetProperties() 和 lambda 表达式的 PropertyInfo

c# - 排序不适用于年份 "2013"

c# - 特定位数的正则表达式

c# - 使用弹性数据库客户端库、EF 和 Identity 时找不到 DbContext