d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Need Help With Datetime In C#
Add Reply New Topic New Poll
Member
Posts: 27,086
Joined: Mar 7 2008
Gold: 685.00
May 8 2013 07:45pm
From the date of the current day, I just need the date of next wednesday if came before saturday else next saturday date.
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
May 9 2013 10:38am
just keep it simple imo. keep adding 1 day to current date. check its day of week. apply your logic
Member
Posts: 27,086
Joined: Mar 7 2008
Gold: 685.00
May 9 2013 02:31pm
I tried something but my code is wrong.

If date of today is from Wednesday 9:00P.M. to Saturday 9:00 P.M., I need the date of next Saturday. Else, I need the date of next Wednesday.

I'm trying to add day until the date = date of saturday or wednesay, but the days aren't increment.

Here's the code :

Code
           DateTime dd = DateTime.Now;
           if (dd.DayOfWeek == DayOfWeek.Sunday || dd.DayOfWeek == DayOfWeek.Monday || dd.DayOfWeek == DayOfWeek.Tuesday)
           {
               while (dd.DayOfWeek != DayOfWeek.Wednesday)
                   dd.AddDays(1);
                         
           }
           else
               if (dd.DayOfWeek == DayOfWeek.Thursday || dd.DayOfWeek == DayOfWeek.Friday)
               {
                   while (dd.DayOfWeek != DayOfWeek.Saturday)
                       dd.AddDays(1);
                       
               }
           else
                   if(dd.DayOfWeek == DayOfWeek.Wednesday)
                   {
                       if (dd.Hour > 21)
                       {
                           while (dd.DayOfWeek != DayOfWeek.Saturday)
                               dd.AddDays(1);
                       }                    
                   }
           else
                   if(dd.Hour > 21)
                   {
                       while (dd.DayOfWeek != DayOfWeek.Wednesday)
                           dd.AddDays(1);
                   }
           lbProcDate.Text = dd.ToShortDateString();
Member
Posts: 4,605
Joined: Sep 15 2011
Gold: 9,464.00
May 9 2013 03:10pm
shouldn't your while loops be contained inside braces?
Member
Posts: 23,350
Joined: Jan 5 2007
Gold: 3,280.00
Trader: Trusted
May 9 2013 03:35pm
Quote (irimi @ 10 May 2013 00:10)
shouldn't your while loops be contained inside braces?


that is fine, but you should have it like this:
Code
DateTime dd = DateTime.Now;
           if (dd.DayOfWeek == DayOfWeek.Sunday || dd.DayOfWeek == DayOfWeek.Monday || dd.DayOfWeek == DayOfWeek.Tuesday)
           {
               while (dd.DayOfWeek != DayOfWeek.Wednesday)
                   dd = dd.AddDays(1);

           }
           else if (dd.DayOfWeek == DayOfWeek.Thursday || dd.DayOfWeek == DayOfWeek.Friday)
           {
               while (dd.DayOfWeek != DayOfWeek.Saturday)
                   dd = dd.AddDays(1);

           }
           else if (dd.DayOfWeek == DayOfWeek.Wednesday)
           {
               if (dd.Hour > 21)
               {
                   while (dd.DayOfWeek != DayOfWeek.Saturday)
                       dd = dd.AddDays(1);
               }
           }
           else if (dd.Hour > 21)
           {
               while (dd.DayOfWeek != DayOfWeek.Wednesday)
                   dd = dd.AddDays(1);
           }
           lbProcDate.Text = dd.ToShortDateString();


also, the dd.AddDays(1) is never saved anywhere, so you have to:
dd = dd.AddDays(1);
Member
Posts: 1,158
Joined: Oct 5 2010
Gold: 0.00
Jun 23 2013 08:30am
Quote (eric838 @ May 9 2013 03:45am)
From the date of the current day, I just need the date of next wednesday if came before saturday else next saturday date.


Couldn't you simply use the dayoftheweek index to figure this out?
Member
Posts: 3,980
Joined: Jan 17 2006
Gold: 6,066.00
Jul 24 2013 02:21pm
Try a simple Switch statement with the DayOfweek.
Code

           var day = DateTime.Now;
           DateTime date;
           switch (day.DayOfWeek)
           {
               case System.DayOfWeek.Monday:
                   date = day.AddDays(2);
                   break;
               case System.DayOfWeek.Tuesday:
                   date = day.AddDays(1);
                   break;
               case System.DayOfWeek.Wednesday:
                   if (day.TimeOfDay.CompareTo(new TimeSpan(21, 0, 0)) <= 0)
                       date = day.AddDays(7);
                   else
                       date = day.AddDays(4);
                   break;
               case System.DayOfWeek.Thursday:
                   date = day.AddDays(3);
                   break;
               case System.DayOfWeek.Friday:
                   date = day.AddDays(2);
                   break;
               case System.DayOfWeek.Saturday:
                   date = day.AddDays(1);
                   break;
               case System.DayOfWeek.Sunday:
                   if (day.TimeOfDay.CompareTo(new TimeSpan(21, 0, 0)) > 0)
                       date = day.AddDays(3);
                   else
                       date = day.AddDays(7);
                   break;
           }


This post was edited by Gg-slayerz on Jul 24 2013 02:22pm
Member
Posts: 7,969
Joined: Jul 7 2008
Gold: 286.54
Aug 5 2013 09:45am
Quote (eric838 @ May 9 2013 12:31pm)
I tried something but my code is wrong.

If date of today is from Wednesday 9:00P.M. to Saturday 9:00 P.M., I need the date of next Saturday. Else, I need the date of next Wednesday.

I'm trying to add day until the date = date of saturday or wednesay, but the days aren't increment.

Here's the code :

Code
DateTime dd = DateTime.Now;
           if (dd.DayOfWeek == DayOfWeek.Sunday || dd.DayOfWeek == DayOfWeek.Monday || dd.DayOfWeek == DayOfWeek.Tuesday)
           {
               while (dd.DayOfWeek != DayOfWeek.Wednesday)
                   dd.AddDays(1);
                         
           }
           else
               if (dd.DayOfWeek == DayOfWeek.Thursday || dd.DayOfWeek == DayOfWeek.Friday)
               {
                   while (dd.DayOfWeek != DayOfWeek.Saturday)
                       dd.AddDays(1);
                       
               }
           else
                   if(dd.DayOfWeek == DayOfWeek.Wednesday)
                   {
                       if (dd.Hour > 21)
                       {
                           while (dd.DayOfWeek != DayOfWeek.Saturday)
                               dd.AddDays(1);
                       }                    
                   }
           else
                   if(dd.Hour > 21)
                   {
                       while (dd.DayOfWeek != DayOfWeek.Wednesday)
                           dd.AddDays(1);
                   }
           lbProcDate.Text = dd.ToShortDateString();


dem else's

use switch loop pls

This post was edited by Salvationvsfate on Aug 5 2013 09:45am
Member
Posts: 12,685
Joined: Aug 19 2008
Gold: 1,055.00
Aug 5 2013 05:33pm
How much do you pay for this homework?
What is the timeframe?
I can give you a robust OO design for the right price. LMK
Go Back To Programming & Development Topic List
Add Reply New Topic New Poll