1 votos

Formato de fecha de transformación de Applescript

Estoy usando esto para transformar mi fecha de un DD/MM/AAAA a MM/DD/AAAA

set today to short date string of (current date)
set t to (time string of (current date))
set [_day, _month, _year] to [day, month, year] of date today

set _month to _month * 1 --> 3
set _month to text -1 thru -2 of ("0" & _month) --> "03"
set the text item delimiters to "/"
set today to {_month, _day, _year} as string
set fullDateToday to today & " " & t as string

Por ejemplo, 20/04/2019 > 15/11/18

Aunque, ¿cómo puedo transformar el año en YY en lugar de YYYY?

0 votos

Ok no estoy seguro de por qué añadir una pregunta es tan obvio: establecer _year a texto -1 a -2 de ("0" & _year)

0 votos

Puede utilizar la función de edición situada encima de los comentarios para realizar cambios.

4voto

slm Puntos 118

NOTA: Tomé lo que se describió en un comentario y lo convertí en una respuesta para completar este Q&A.

Para convertir la fecha de manera que el año esté en formato YY frente al formato YYYY podría utilizar esta línea para establecer _year .

set _year to text -1 thru -2 of ("0" & _year)

Ejemplo

Aquí hay un ejemplo completo de su fragmento de AppleScript:

$ cat showdate.sh
#!/bin/bash

osascript <<END
set today to short date string of (current date)
set t to (time string of (current date))
set [_day, _month, _year] to [day, month, year] of date today

set _month to _month * 1 --> 3
set _month to text -1 thru -2 of ("0" & _month) --> "03"
set _year to text -1 thru -2 of ("0" & _year)
set the text item delimiters to "/"
set today to {_month, _day, _year} as string
set fullDateToday to today & " " & t as string
END

Y cuando se ejecuta obtenemos lo siguiente.

La fecha de hoy

$ date
Sun Apr 21 00:21:08 EDT 2019

a través de AppleScript

$ ./showdate.sh
04/21/19 00:20:45

Cómo funciona

Esta línea de AppleScript:

set _year to text -1 thru -2 of ("0" & _year)

Cuando se ejecuta, establece la variable _year a los 2 últimos dígitos del contenido de _year previo vale. Así, si el valor fuera 2019, la línea anterior daría como resultado _year siendo 19.

  • ("0" & _year) - conversos _year a una cadena, anteponiendo un 0 al principio
  • -1 thru -2 of ... - cortará los 2 últimos dígitos de _year y eliminar todo lo demás de _year
  • -1 comienza a indexar desde la derecha en lugar de la izquierda

Referencias

0 votos

@Kevin seguro, gracias por la Q fue divertido de averiguar.

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