- short date: 12/16/14 (viene messo prima il mese, poi il giorno, poi l'anno; come in USA)
- abbreviated date: Tue, Dec 16, 2014
- long date: Tuesday, December 16, 20140
- short time: 11:56 AM (AM è del mattino, PM è del pomeriggio)
- abbreviated time: 11:56 AM
- long time: 12:03:35 PM
- internet date: Tue, 16 Dec 2014 12:03:57 +0100
- seconds: 1418727859 (sarebbe il numero di secondi a partire dal 1 Gennaio 1970)
- dateItems: 2014,12,16,0,0,0,3 (questo lo spiego più sotto)
- system date: 16/12/2014 (questo dipende dal computer, In Italia prima il giorno, poi il mese e poi l'anno)
Usare seconds è la vecchia e scomoda tecnica che usano anche altri linguaggi, cioè si trasforma l'ora o la data in secondi a partire dal 1 Gennaio 1970 e si aggiungono i secondi, si aggiungono o sottraggono i secondi e poi si riconverte il tutto. Ad esempio per aggiungere 3 ore e 5 minuti all'ora corrente il codice è:
put the time into temp #temp ora vale "1:58 PM"
convert temp to seconds #temp ora vale 1418734680
add (3*60*60 + 5*60 ) to temp #aggiungiamo 3 ore e 5 minuti
convert temp to time #temp ora vale "5:03 PM"
answer temp
Come vedete è complicato e poco chiaro, perchè bisogna moltiplicare ore, minuti, giorni, mesi e anni per i numeri opportuni in modo da trasformali in secondi.
Per fortuna c'è un modo più semplice, usare dateItems. Il formato dateItems è composto da una serie di valori separato da virgole secondo questo ordine:
- anno
- mese
- giorno
- ora
- minuti
- secondi
- giorno della settimana (un numero da 1, domenica, a 7, sabato)
put the time into temp #temp ora vale "1:58 PM"
convert temp to dateitems #temp ora vale "2014,12,16,13,58,0,3"
add 3 to item 4 of temp #aggiungiamo 3 ore
add 5 to item 5 of temp #aggiungiamo 5 minuti
convert temp to time #temp ora vale "5:03 PM"
answer temp
Lo stesso identico discorso lo potete fare con giorni, mesi e anni. Potete aggiungere o sottrarre valori senza problemi convert si occupa di ricalcolare tutto in maniera corretta.
Nessun commento:
Posta un commento