¿Cómo cambiar la cadena "9 de noviembre 03:21:11" a yymmdd mmhhss en AppleScript?
¿Cómo cambiar la cadena "9 de noviembre 03:21:11" a yymmdd mmhhss en AppleScript?
No tengo un Mac para probar, pero el OSX date
man page sugiere:
old="Nov 9 03:21:11"
new=$( date -j -f "%b %e %T" "$old" "+%Y%m%d %H%M%S" )
echo "$new"
Recomiendo usar años de 4 dígitos. ¿No hemos aprendido nada de Y2K?
La manipulación de fecha y hora en AppleScript es dolorosa. Consulte Conversión: String-Date a AppleScript-Date y Fechas & Tiempos en AppleScripts para fragmentos útiles y una descripción general de los enfoques.
El enfoque general parece ser codificar a mano el análisis y la conversión. Para su ejemplo:
set myStringDate to "Nov 9 03:21:11"
set theMonth to first word of myStringDate
set theDayOfMonth to second word of myStringDate
set theHour to third word of myStringDate
set theMinute to fourth word of myStringDate
set theSecond to fifth word of myStringDate
-- TODO: Add code to convert month to a number
set theConvertedMonth to theMonth
-- Determine the year somehow
set myTransformedDate to "YEAR" & theConvertedMonth & theDayOfMonth & " " & theMinute & theHour & theSecond
-- Be aware of numbers of single digits; you may need to pad with zeros
Si se siente cómodo con la línea de comandos, puede que le resulte más fácil recurrir a llamar a un script de shell para la conversión.
Lea otras preguntas en las etiquetas unix applescript