- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Funzione datediff e datepart - Calcolo trimestre
-
Funzione datediff e datepart - Calcolo trimestre
Ciao a tutti e ben ritrovati,
sto affrontando un nuovo quesito al quale per ora non ho trovato risposta, né qui sul forum né in rete.Dovrei calcolare il trimestre a cui appartiene una data, con le date di riferimento di inizio e fine.
Il datePart utilizza l'opzione "q" per calcolare il trimestre, ma lo fa relativamente all'intervallo 1 gennaio/31 dicembre.Io invece ho in database due date (DataInizio e DataFine) e sulla base di queste vorrei calcolare a quale trimestre appartiene la DataX.
Avete suggerimenti da darmi?
Grazie
Luca
-
Scusa, giusto per capire...
Se DataInizio e DataFine sono rispettivamente 01/07/2013 e 30/06/2014, vorresti calcolare a quale trimestre appartiene ad esempio il 12/02/2014, cioé il 3° trimestre di quell'intervallo?
-
In quel caso potresti estrarti il mese e con uno switch determinare il trimestre
-
Esatto artcava.
Ho risolto con una soluzione non proprio pulita (magari la ripulisco e ve la posto).
Considerando il giorno in più dell'anno bisestile, ho calcolato che primo e secondo trimestre hanno 91 giorni.
Se l'anno è bisestile, terzo e quarto trimestre hanno 92 giorni, altrimenti 91 e 92.
Fatto questo vedo se gg/mm vengono prima o dopo il 28 febbraio.
Se prima, controllo che non esista il 29 febbraio. Se è successiva, controllo che non esista il 29 febbraio dell'anno successivo.
Quindi calcolo i 4 trimestri e inserisco data di inizio e di fine in un array e con un ciclo for controllo a quale intervallo appartiene la data di riferimento.
Il trimestre corrisponde all'indice dell'array.Sto imparando molto su questo forum, non si smette mai
-
le due date (DataInizio e DataFine), sono sempre il primo giorno di un mese e l'ultimo giorno del mese precedente ma dell'anno successivo (come da esempio di artcava) o possono essere date "durante il mese" (per esempio DataInizio=19/02/2015 e DataFine=18/02/2016)? In tal caso come trimestre devi considerare i mesi solari oppure i tre mesi a partire dalla DataInizio e poi quelli successivi? (quindi per esempio il primo trimestre va dal 19/02 al 19/05, che non fanno parte dello stesso trimestre del calendario)