¿Cómo cambiar “Nov 9 03:21:11” a yymmdd mmhhss usando AppleScript / Unix?

1

¿Cómo cambiar la cadena "9 de noviembre 03:21:11" a yymmdd mmhhss en AppleScript?

    
pregunta scriptee2 09.11.2015 - 14:59

2 respuestas

2

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?

    
respondido por el glenn jackman 09.11.2015 - 16:14
0

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.

    
respondido por el Graham Miln 09.11.2015 - 15:05

Lea otras preguntas en las etiquetas