我知道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
Matt Blaine.. 9
我知道您可以通过以下方式计算日期的四分之一:
Dim quarter As Integer = (someDate.Month - 1) \ 3 + 1
如果您正在使用Visual Studio 2008,则可以通过查看扩展方法来尝试将其他功能附加到DateTime类.
我知道您可以通过以下方式计算日期的四分之一:
Dim quarter As Integer = (someDate.Month - 1) \ 3 + 1
如果您正在使用Visual Studio 2008,则可以通过查看扩展方法来尝试将其他功能附加到DateTime类.