1 votos

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

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

2voto

Mark Puntos 6

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?

0voto

Steve Evans Puntos 155

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.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X