Ciao a tutti ed un saluto particolare al nostro evangelist Antonio.
Antonio o chiunque possa offrirmi una soluzione al seguente problema:
Ho una data iniziale 2019-07-01 ma vorrei poter aggiungere a questa un numero di gg ed ottenere la nuova data.
Esempio data iniziale 2019-07-01 , + 31 gg , vorrei ottenere la data finale in 2019-08-01
con la funzione data.totalseconds posso calcolare i giorni tra due date, ma per l’esempio sopra come si fa?
Suggerimenti?
Grazie per l’aiuto
Ricambio il saluto
utilizza l’oggetto Date
Ad esempio tu hai la data in formato stringa sql (2019-07-01)
La trasformi in Date con:
dim miaData as new Date //ora miaData corrisponde alla data attuale.
miaData.sqlDate='2019-07-01' //ora miaData la data richiesta. ATTENZIONE ora, minuti e secondi rimangono quelli originali
miaData.day=miaData.day+31 //ora miaData 2019-08-01
Puoi modificare la data operando su uno qualsiasi dei parametri (year, month, day, hour, minutes, second) e lo preferisco a utilizzare totalSeconds per leggibilit.
Ma ricorda che se modifichi pi parametri l’ordine delle operazioni importante.
ad esempio:
dim d as new Date
d.SQLDate="2019-01-11"
d.Day=d.Day+31
d.Month=d.Month+1
//d.sqlDate=>2019-03-11
//Mentre
d.SQLDate="2019-01-11"
d.Month=d.Month+1
d.Day=d.Day+31
//d.sqlDate=>2019-03-14
Infine, se vuoi operare su un db SQLite puoi utilizzare le funzioni relative per fare calcoli di date anche complessi (start of month, start of week e molto altro) e a volte potrebbe essere utile usare un db in memoria per effettuare questi calcoli velocemente.
Ciao Antonio
Non ti smentisci mai, sempre chiaro preciso e disponibile.
Siamo fortunati di contare su una persona preparata come te.
Grazie per la soluzione perfetta che stavo cercando.