jump to navigation

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 :

  1. name:”date by shell.scpt”
    le nom du fichier, tell qu’il apparaît dans le Finder
  2. creation date:date “jeudi 18 mai 2006 16:35:56″
    la date de création
  3. modification date:date “jeudi 18 mai 2006 16:45:35″
    et la date de la dernière modification
  4. icon position:{0, 0}
    la position de l’icône, pour laquelle je n’ai pas encore trouvé d’utilité
  5. size:9732.0
    la taille
  6. 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
  7. alias:false
    OK, ce n’est pas un alias
  8. package folder:false
    ni un paquet :-)
  9. visible:true
    il est visible
  10. extension hidden:true
    on ne voit pas son extension dans le Finder (mais elle existe bel et bien
  11. name extension:”scpt”
    et la voici
  12. displayed name:”date by shell”
    par contre on ne voit que ce nom
  13. default application:alias “pythia:Applications:AppleScript:Script Editor.app:”
    si on double-clic dessus, il s’ouvrira avec Script Editor, alias Editeur de scripts
  14. kind:”script”
    c’est un script
  15. file type:”osas”
    dont le type est osas
  16. file creator:”ToyS”
    créé par ToyS, aka Script Editor, aka Editeur de scripts
  17. 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…
  18. locked:false
    Ce n’est pas vérouillé
  19. busy status:false
    il est au repos
  20. short version:”"
    ?
  21. 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