Solved

Setting DateTimePicker to last quarter

Posted on 2015-01-19
5
265 Views
Last Modified: 2015-01-19
I have a datetime picker that I am trying to set to "Last Quarter" currently it shows 1/1/2015 - 3-31-2015
not last quarter 10-1-2014 - 12-31-2014

                        DateTime date = DateTime.Now;
                        int Quarter = (date.Month - 1) / 4 + 1;
                        DateTime first = new DateTime(date.Year, 3 * Quarter - 2, 1);
                        DateTime last = new DateTime(date.Year, 3 * Quarter - 2, 1).AddMonths(3).AddDays(-1);
                        dateTimePicker_ReportsStart.Text = first.ToString("MM,dd,yyy 00:00:00");
                        dateTimePicker_ReportsTimeStart.Text = first.ToString("MM,dd,yyy 00:00:00");
                        dateTimePicker_ReportsEnd.Text = last.ToString("MM,dd,yyy 23:59:59");
                        dateTimePicker_ReportsTimeEnd.Text = last.ToString("MM,dd,yyy 23:59:59");

Open in new window

0
Comment
Question by:r3nder
  • 2
  • 2
5 Comments
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 40558246
>>int Quarter = (date.Month - 1) / 4 + 1;
Is this what you want:
int Quarter = (date.Month - 3) / 4 + 1;
as there are 3 months in a quarter
0
 
LVL 26

Accepted Solution

by:
Shaun Kline earned 500 total points
ID: 40558250
You appear to be calculating the quarter for today.
Consider changing
DateTime first = new DateTime(date.Year, 3 * Quarter - 2, 1);

Open in new window

to
DateTime first = new DateTime(date.Year, 3 * Quarter - 2, 1).AddMonth(-3);

Open in new window

to get the prior quarter start date.
0
 
LVL 6

Author Comment

by:r3nder
ID: 40558278
@Shaun
that fixes first day but not last
First is 10-1-2014 but last is 3-31-2015 and if I add the same logic to last-- I get 9-30-2014
0
 
LVL 26

Assisted Solution

by:Shaun Kline
Shaun Kline earned 500 total points
ID: 40558293
For the end date, change
DateTime last = new DateTime(date.Year, 3 * Quarter - 2, 1).AddMonths(3).AddDays(-1);

Open in new window

to
DateTime last = first.AddMonths(3).AddDays(-1);

Open in new window

0
 
LVL 6

Author Closing Comment

by:r3nder
ID: 40558325
Thanks Shaun
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question