[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 513
  • Last Modified:

How to calculate the date range of the current and next quarter date

Is there any easy way to get the begin date and end of the current quarter in VB.net?  I also need to get the date range for the next quarter?  This is all based on the current date.

Thanks in advance,
Brian Pembroke
0
u7c76
Asked:
u7c76
1 Solution
 
nickhoggardCommented:
Hi,

The following article discusses some functions for dealing with the quarters:
http://www.codeproject.com/csharp/csdatetimelibrary.asp?df=100&forumid=157955&exp=0&select=1055875

Keep in mind though that if your application is being designed for multiple countries that the quarters are different in different locations (eg here in New Zealand the first quarter runs from 1 April to 30 June)

Hope this gets you started.

Cheers

Nick
0
 
dancebertCommented:
Actually, quarters vary by company as well as by country.  Any solution that calculates financial quarters must either specify or assume what is the first day of the fiscal year.
0
 
Bob LearnedCommented:
Here are two functions that I use:

  ''' -----------------------------------------------------------------------------
  ''' <summary>
  ''' Overloaded version, assuming U.S. settings
  ''' </summary>
  ''' -----------------------------------------------------------------------------
  Public Shared Sub GetQuarter(ByVal dateSelected As Date, _
   ByRef startDate As Date, ByRef endDate As String)

    GetQuarter(dateSelected, FirstDayOfWeek.Monday, FirstWeekOfYear.Jan1, startDate, endDate)

  End Sub

  ''' -----------------------------------------------------------------------------
  ''' <summary>
  ''' Get the first and last date of the quarter for a given date.
  ''' </summary>
  ''' <param name="dateSelected">Selected date</param>
  ''' <param name="firstWeekDay">Enum for the first day of the week</param>
  ''' <param name="firstYearWeek">Enum for the first week of the year</param>
  ''' <param name="startDate">Return the start date for the quarter</param>
  ''' <param name="endDate">Return the end date for the quarter</param>
  ''' -----------------------------------------------------------------------------
  Public Shared Sub GetQuarter(ByVal dateSelected As Date, _
   ByVal firstWeekDay As FirstDayOfWeek, ByVal firstYearWeek As FirstWeekOfYear, _
   ByRef startDate As Date, ByRef endDate As String)

    Dim quarter As Integer = DatePart(DateInterval.Quarter, dateSelected)

    startDate = New DateTime(dateSelected.Year, ((quarter - 1) * 3) + 1, 1)

    endDate = DateAdd(DateInterval.Quarter, DatePart(DateInterval.Quarter, dateSelected, firstWeekDay, firstYearWeek), _
       New DateTime(dateSelected.Year, 1, 1)).AddDays(-1)

  End Sub

Bob
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now