|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2008
Messaggi: 13
|
[c#] Calcolo Data
Salve, vi illustro il mio problema, allora:
io ho un database che contiene delle stampanti, e queste stampanti devono essere rifornite di carta, questo va in base al consumo medio, ma questo non è un problema il calcolo di esso, vorrei dei consigli sul calcolo della data. Ovvero, una volta che sono fra quanti giorni LAVORATIVI deve essere ricaricata, devo tirare fuori la data. Esempio: Oggi 12/01 martedi, tra 5 giorni devo andare a ricaricare in teoria se non tolgo i giorni lavorativi dovrei andare a ricaricarla domenica, ma sabato e domenica sono festivi, quindi c'è in cui elimino sia i sabati che le domenica e gli altri giorni festivi dell'anno, ovvero natale e altri??? in modo che mi venga come somma un giorno che sia feriale?? Grazie in anticipo, fabio |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
di getto farei così:
Codice:
public DateTime CalcolaData(DateTime inizio, TimeSpan intervallo)
{
DateTime date = inizio + intervallo;
if (!IsWorkDay(date))
date = CalcolaData(date, new TimeSpan(1, 0, 0, 0));
return date;
}
public bool IsWorkDay (DateTime date)
{
if (date.DayOfWeek == DayOfWeek.Sunday || date.DayOfWeek == DayOfWeek.Saturday)
return false;
// altri controlli
return true;
}
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2008
Messaggi: 237
|
Il maggior fastidio saranno cose con conteggi strani tipo carnevale (se è festivo) e pasqua.
Per il resto quel che ti ha suggerito Kralizek va bene. Occhio alla ricorsione, se hai un migliaio di giorni festivi di seguito potresti avere dei problemi |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Pasqua e' sempre di Domenica (Scherzo eh...
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2005
Città: Siena
Messaggi: 1313
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:38.




















