# Choose quarter based on current date

Hi team

I want to write quarter start date and quarter end date based on the current date
Q1: 1 January, 2022 to 31 March, 2022
Q2: 1 April, 2022 to 30 June, 2022
Q3: 1 July, 2022 to 30 September, 2022
Q4: 1 October, 2022 to 31 December, 2022

so if the current date is 4 February, 2022, it should give me Q1 start and end date,
So how can i automate it and keeping the year as current year inorder to make it dynamic.

1 Like

Hi!

Have a view on this

Regards,
NaNi

have a look on the below thread -

Thanks

You can calculate the quarter by:

``````quarter = (someDate.Month - 1) \ 3 + 1
``````

Following best practices, you can separate it into two different components.

1. Calculating the quarter:
Create a function (workflow) with arguments `in_dtDate as DateTime` and `out_intQuarter`
Assign `out_Quarter` to `(in_dtDate.Month - 1) \ 3 + 1`

2. Returning the start and end date
Create a function (workflow) which accepts `in_intQuarter` and `out_strQuarterDates`
Create a switch statement of 1-4, which sets assigns `out_strQuarterDates` to the strings you listed.

Invoke both workflows from the component you need it from. If you want to pass the current date into the first component, use DateTime.Now.

Kind Regards

â€śQâ€ť & Math.Ceiling(YourDateTimeVar.Month / 3).ToString

Take a Look at the below Code Snippet :

Letâ€™s assume the input date is in String format stored in `InputDateStr`, then you would need to convert it to `DateTime` format first, else you could directly assign the Date value to `InputDate`.

``````InputDate = DateTime.ParseExact(yourDateStr,"dd MMMM, yyyy",System.Globalization.CultureInfo.InvariantCulture);

currQuarter = Cint((InputDate.Month - 1) / 3) + 1;

dtFirstDay = new DateTime(InputDate.Year, 3 * currQuarter - 2, 1);

dtLastDay = new DateTime(InputDate.Year, 3 * currQuarter + 1, 1).AddDays(-1);
``````

Where `currQuarter` is an Integer variable, which holds the Quarter number, `dtFirstDay` and `dtLastDay` are the First and Last days of the quarter found.

Let us know if this doesnâ€™t work.

1 Like

it worked
Thankyou

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.