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