set theMonth to do shell script " date -v2d -v1m -v99y +%B%n%b%n%m%n%-m"
-> "Janvier
Jan
01
1"
set theDay to do shell script " date -v2d -v1m -v99y +%A%n%a%n%d%n%-d"
-> "Samedi
Sam
02
2"
set theYear to do shell script " date -v2d -v1m -v99y +%Y%n%y"
-> "1999
99"
-
-v drapeau ajuste l'élément de date sans changer la date réelle.
-
-v2d est le 2ème jour
-
-v1m est le premier mois
-
-v99y est l'année 1999
Les formateurs de date sont:
-
%n nouvelle ligne
-
%B nom complet du mois
-
%b nom abrégé du mois
-
%m numéro de mois avec zéro initial
-
%-m numéro de mois sans zéro initial
Les autres formateurs suivent le même principe. Vous pouvez trouver plus d'informations sur le format en faisant simplement une recherche sur Google.
Si vous souhaitez le faire entièrement en AppleScript, je vous suggère de lire MacScripter / Dates & Times in AppleScripts
---------- mise à jour
Je pense que c'est plus efficace de le faire avec le script shell. Mais si j'allais essayer de le faire uniquement en AppleScript, j'utiliserais des gestionnaires pour soit compléter soit raccourcir l'élément. Et je passerais simplement le mois, l'année et le jour à ces gestionnaires pour les trier.
set {year:y, month:m, day:d} to current date
--set m to m + 1
set theYearLong to y as string
set theYearShort to shorten(y)
set theMonthNumberZero to pad((m as integer) as string)
set theMonthNumber to ((m as integer) as string)
set theMonthLong to m as string
set theMonthShort to shorten(m)
set theDayNumberZero to pad((d as integer) as string)
set theDayNumber to ((d as integer) as string)
on pad(thisNumber)
if length of thisNumber = 1 then
return "0" & thisNumber
else
return thisNumber
end if
end pad
on shorten(thisItem)
if class of thisItem is integer then
return characters 3 thru -1 of (thisItem as text) as string
else
return characters 1 thru 3 of (thisItem as text) as string
end if
end shorten
Il y a probablement une meilleure façon de le faire, mais cet exemple pourrait vous donner une idée..