Sql Server には便利な四半期ごとの機能が組み込まれていることは知っていますが、.Net ネイティブのDateTimeオブジェクトについてはどうでしょうか。四半期を加算、減算、トラバースする最良の方法は何ですか?
VB 固有のDateAdd()関数を使用するのは悪いことですか? 例えば:
Dim nextQuarter As DateTime = DateAdd(DateInterval.Quarter, 1, DateTime.Now)
編集: @bslorence の機能の拡張:
Public Shared Function AddQuarters(ByVal originalDate As DateTime, ByVal quarters As Integer) As Datetime
Return originalDate.AddMonths(quarters * 3)
End Function
@Matt の機能の拡張:
Public Shared Function GetQuarter(ByVal fromDate As DateTime) As Integer
Return ((fromDate.Month - 1) \ 3) + 1
End Function
編集:便利な機能がいくつかあります:
Public Shared Function GetFirstDayOfQuarter(ByVal originalDate As DateTime) As DateTime
Return AddQuarters(New DateTime(originalDate.Year, 1, 1), GetQuarter(originalDate) - 1)
End Function
Public Shared Function GetLastDayOfQuarter(ByVal originalDate As DateTime) As DateTime
Return AddQuarters(New DateTime(originalDate.Year, 1, 1), GetQuarter(originalDate)).AddDays(-1)
End Function