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
informations septembre 16, 2006
Posted by Oldcola in simple.add a comment
Obtenir et ou changer les informations d’un fichier peut-être intéressant si on automatise une tâche.
set toto to choose file
set proprtoto to info for toto
Ces deux lignes sont un commencement. Le résultat rendu est une liste.
{name:”date by shell.scpt”, creation date:date “jeudi 18 mai 2006 16:35:56″, modification date:date “jeudi 18 mai 2006 16:45:35″, icon position:{0, 0}, size:9732.0, folder:false, alias:false, package folder:false, visible:true, extension hidden:true, name extension:”scpt”, displayed name:”date by shell”, default application:alias “pythia:Applications:AppleScript:Script Editor.app:”, kind:”script”, file type:”osas”, file creator:”ToyS”, type identifier:”com.apple.applescript.script”, locked:false, busy status:false, short version:”", long version:”"}
Pour l’exemple j’ai choisi un applescript, dont voici les 21 éléments d’information étalés :
- name:”date by shell.scpt”
le nom du fichier, tell qu’il apparaît dans le Finder - creation date:date “jeudi 18 mai 2006 16:35:56″
la date de création - modification date:date “jeudi 18 mai 2006 16:45:35″
et la date de la dernière modification - icon position:{0, 0}
la position de l’icône, pour laquelle je n’ai pas encore trouvé d’utilité - size:9732.0
la taille - folder:false
la réponse à la question : est-ce un dossier ? qui peut être très utile si on cherche des dossiers; c’est assez fréquent quand on parcours le contenu d’un dossier et qu’on souhaite ne traiter que les fichiers qui n’en sont pas - alias:false
OK, ce n’est pas un alias - package folder:false
ni un paquet
- visible:true
il est visible - extension hidden:true
on ne voit pas son extension dans le Finder (mais elle existe bel et bien - name extension:”scpt”
et la voici - displayed name:”date by shell”
par contre on ne voit que ce nom - default application:alias “pythia:Applications:AppleScript:Script Editor.app:”
si on double-clic dessus, il s’ouvrira avec Script Editor, alias Editeur de scripts - kind:”script”
c’est un script - file type:”osas”
dont le type est osas - file creator:”ToyS”
créé par ToyS, aka Script Editor, aka Editeur de scripts - type identifier:”com.apple.applescript.script”
si on n’avait pas encore compris c’est un applescript ! je ne sais pas qui utilise cette information… - locked:false
Ce n’est pas vérouillé - busy status:false
il est au repos - short version:”"
? - long version:”"
?
Il y a une information que je ne vois pas ici, les commentaires Spotlight.
Maintenant, il est possible d’extraire les éléments, par exemple le nom du fichier, pour le stocker dans une variable :
set toto to choose file
set proprtoto to info for toto
set thename to name of proprtoto
display dialog thename giving up after 2