Comment puis-je travailler avec des quartiers (trimestriel dates) ASP.Net à l'aide de VB.Net 2.0?

Je sais que Sql Server est un peu de pratique intégrée trimestriel trucs, mais quel est le .Net native DateTime objet? Quelle est la meilleure façon d'ajouter, de soustraire, et en traversant des quartiers?

Est-il un mauvaise chose™ pour utiliser le VB-spécifique DateAdd() fonction? par exemple:

Dim nextQuarter As DateTime = DateAdd(DateInterval.Quarter, 1, DateTime.Now)

Edit:
L'expansion @bslorence de la fonction:

Public Shared Function AddQuarters(ByVal originalDate As DateTime, ByVal quarters As Integer) As Datetime
    Return originalDate.AddMonths(quarters * 3)
End Function

Expansion @Matt fonction:

Public Shared Function GetQuarter(ByVal fromDate As DateTime) As Integer
    Return ((fromDate.Month - 1) \ 3) + 1
End Function

Edit: voici un couple encore plus de fonctions qui étaient à portée de main:

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

OriginalL'auteur |