jump to navigation

time & date septembre 28, 2006

Posted by Oldcola in date, simple.
add a comment

date string of (current date)
–”jeudi 28 septembre 2006″

time of (current date)
–45196

time string of (current date)
–”12:33:41″

(current date) as string
–”jeudi 28 septembre 2006 12:34:11″

(current date)
–date “jeudi 28 septembre 2006 12:34:28″

date septembre 16, 2006

Posted by Oldcola in date, shell, simple.
add a comment

Il est simple d’obtenir la date actuelle

set ladate to current date

le résultat est une date

date “samedi 16 septembre 2006 8:56:26″

c’est dit explicitement.
Sous cette forme on peut changer la date en question, pour en caluler une nouvelle, par exemple une date de péremption pour un produit; si le produit est consommable/utilisable pour les 12 prochains jours on pourra construire la date limite d’utilisation.
Il faut ajouter des secondes à ladate. Donc 12 jours nous font : 12 jours par 24 heures par 60 min par 60 secondes : (((60 * 60) * 24) * 12)

set ladate to current date
set datelimite to ladate + (((60 * 60) * 24) * 12)
get {ladate, datelimite}

La commande get est utilisée ici pour afficher les éléments de la liste qui lui est affectée, la dateactuelle et la datelimite calculée.

{date “samedi 16 septembre 2006 9:03:59″, date “jeudi 28 septembre 2006 9:03:59″}

On peut utiliser ce genre d’informations pour marquer les pots de yaourt maison :

set ladate to current date
set datelimite to ladate + (((60 * 60) * 24) * 12)
set aimprimer to “produit le : ” & ladate & return & “à consommer de préférence avant le : ” & datelimite

qui donne :

“produit le : samedi 16 septembre 2006 9:08:02
à consommer de préférence avant le : jeudi 28 septembre 2006 9:08:02″

On admirera la précision à la seconde près de la recommandation :-)
Une autre application, est la date avant laquelle on ne doit pas consommer un produit, disons un vieux snaps à planquer derrière les fagots :

set ladate to (current date)
set datelimite to (ladate + ((((60 * 60) * 24) * 365) * 12))
set aimprimer to “laisser vieillir jusqu’au ” & datelimite

qui donne :

“laisser vieillir jusqu’au jeudi 13 septembre 2018 9:14:24″

On voit deux problèmes : on n’a pas tenu compte des années bissextiles et c’est un peu ridicule d’afficher les secondes pour un vieillissement de 12 ans !
En fait on peut extraire des parties de la date facilement :

set thedate to (current date)
set s to “on est le : ” & day of thedate
set s to s & ” ” & month of thedate
set s to s & ” ” & year of thedate
set datedematurite to “laisser vieillir derrière les fagots jusqu’en ” & month of thedate & ” ” & 12 + (year of thedate) as string

Le résultat est bien meilleur pour une étiquette de snaps :

“laisser vieillir derrière les fagots jusqu’en September 2018″

Pour isoler les éléments de date, surtout l’heure, je préfère les appels au shell, parce que c’est… plus simple :-) Voici mon pense bête, qui est contenu dans le fichier “date by shell” mentionné dans le post précèdent :

set the clipboard to (do shell script “date +%a”) –”Thu”
set the clipboard to (do shell script “date +%b”) –”May”
set the clipboard to (do shell script “date +%c”) –”Thu May 18 16:27:27 2006″
set the clipboard to (do shell script “date +%d”) –”18″
set the clipboard to (do shell script “date +%g”) –”06″
set the clipboard to (do shell script “date +%h”) –”May”
set the clipboard to (do shell script “date +%m”) –”05″
set the clipboard to (do shell script “date +%p”) –”PM”
set the clipboard to (do shell script “date +%r”) –”04:30:53 PM”
set the clipboard to (do shell script “date +%s”) –”1147962671″
set the clipboard to (do shell script “date +%u”) –”4″
set the clipboard to (do shell script “date +%v”) –”18-May-2006″
set the clipboard to (do shell script “date +%x”) –”05/18/06″
set the clipboard to (do shell script “date +%y”) –”06″
set the clipboard to (do shell script “date +%z”) –”+0200″
set the clipboard to (do shell script “date +%A”) –”Thursday”
set the clipboard to (do shell script “date +%C”) –”20″
set the clipboard to (do shell script “date +%D”) –”05/18/06″
set the clipboard to (do shell script “date +%F”) –”2006-05-18″
set the clipboard to (do shell script “date +%G”) –”2006″
set the clipboard to (do shell script “date +%H”) –16
set the clipboard to (do shell script “date +%I”) –04
set the clipboard to (do shell script “date +%M”) –42
set the clipboard to (do shell script “date +%R”) –16:42
set the clipboard to (do shell script “date +%S”) –13
set the clipboard to (do shell script “date +%T”) –16:43:38
set the clipboard to (do shell script “date +%U”) –20
set the clipboard to (do shell script “date +%X”) –16:44:54
set the clipboard to (do shell script “date +%Y”) –2006
set the clipboard to (do shell script “date +%Z”) –CEST