¿Cómo cambiar la cadena "Nov 9 03:21:11" a yymmdd mmhhss en AppleScript?
Respuestas
¿Demasiados anuncios?No tengo un mac para probar, pero el OSX date
página de manual sugiere:
old="Nov 9 03:21:11"
new=$( date -j -f "%b %e %T" "$old" "+%Y%m%d %H%M%S" )
echo "$new"
Recomiendo encarecidamente utilizar años de 4 dígitos. ¿No hemos aprendido nada del efecto 2000?
Manipulación de la fecha y la hora en AppleScript es doloroso. Ver Conversión: Cadena-Fecha a AppleScript-Fecha y Fechas y horas en AppleScripts para obtener fragmentos útiles y una visión general de los enfoques.
El enfoque general parece ser el de codificar a mano el análisis sintáctico 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 te sientes cómodo con la línea de comandos, puede que te resulte más fácil recurrir a una llamada al shell script para la conversión.