2 votos

¿Comando de análisis erróneo de la página de manual de date?

En el Apple's fecha página de manual ( $ man date ) está escrito:

Finally the command:

     `date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s"

can be used to parse the output from date and express it in Epoch time.

Pero cuando ejecuto este comando ( $ date -j -f "%a %b %d %T %Z %Y" "`date`" "+%s" ) en un nuevo Basic Shell desde Terminal obtengo:

Failed conversion of ``Ven 12 mai 2017 08:22:03 CEST'' using format ``%a %b %d %T %Z %Y''
date: illegal time format
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... 
            [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]

¿Por qué? ¿Es lo mismo para ti? ¿Cómo puedo corregirlo?

NB: Estoy en MacOS Sierra 10.12.4 con configuración francesa y hora local de París (UTC +02:00)

1 votos

Parece ser un problema de localización. ¿Qué sucede cuando se prefiere el comando con LC_ALL=C ?

2 votos

@fd0 Creo que puedes añadir esto como respuesta. Tuve la misma salida que OP, pero después de establecer el LC_ALL funciona como se esperaba.

0 votos

@fd0 Después del lanzamiento LC_ALL=C el date ¡el comando funciona! Parece ser una respuesta En mi caso, para volver a la configuración anterior: LC_ALL=fr_FR

1voto

klanomath Puntos 19587

Está utilizando el siguiente formato de fecha:

 %a %d  %b   %Y %H:%M:%S   %Z
Ven 12 mai 2017 08:22:03 CEST

Así que el comando correcto es

date -j -f "%a %d %b %Y %H:%M:%S %Z" "`date`" "+%s"

1 votos

%T también funciona en lugar de %H:%M:%S

0 votos

A mí me funciona : $ LC_ALL=fr_FR $ date Ven 12 mai 2017 11:50:00 CEST $ date -j -f "%a %d %b %Y %H:%M:%S %Z" "`date`" "+%s" 1494582685

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