"Helgfunktion" med DateTime
Hej!
Behövde hjälp för att lägga till helgtimmar men löste det.
Exempel: En artikel tex ska visas i 48 timmar under vardagar (må 08.00 - fre 18.00)
En artikel skrivs 18.00 på torsdag, alltså visas den 24 h säger vi och ska få 24 h till från måndag kl 08.00
En annan skrivs på lördag 08.00 och ska då få 48 timmar på sig från måndag kl 08.00
Det blev en switch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | public int GetStopTime(DateTime dt) { DayOfWeek dw = dt.DayOfWeek; int start = dt.Hour; int endtime = 48; switch (dw) { case DayOfWeek.Thursday: { endtime += 62; break ; } case DayOfWeek.Friday: { if (dt.Hour > 18) { endtime += 62 - (start-18); } else { endtime += 62; } break ; } case DayOfWeek.Saturday: { endtime += 62 - (start+6); break ; } case DayOfWeek.Sunday: { endtime += 62 - 30 - start; break ; } case DayOfWeek.Monday: { if (dt.Hour < 8) { endtime += 62 - 30 -(8-start); } else { endtime = 48; } break ; } default : { endtime = 48; break ; } } return endtime; } |
Detta går säkert att göra mycket snyggare, men det funkar för mig iallafall :=)
Svara