Comment convertir un horodatage d'époque en un format lisible par l'homme sur la cli? Je pense qu'il y a un moyen de le faire avec date mais la syntaxe m'échappe (d'autres moyens sont les bienvenus).
command-line
shell
date
xénoterracide
la source
la source
@
signifiedate -d @1234567890
?man date
n'a fait aucune référence à cela ...info date
est assez complet. L'entrée à28.9 Seconds since the Epoch
explique en détail le @ horodatage.date -d @1190000000
Remplacez 1190000000 par votre époquela source
Cela peut être utile pour les applications qui utilisent le temps de génération dans les fichiers journaux:
la source
Format personnalisé avec GNU
date
:Ou avec GNU
awk
:Question SO liée: https://stackoverflow.com/questions/3249827/convert-from-unom-time-at-command-line
la source
Avec
bash-4.2
ou au-dessus:(où
%F %T
est lestrftime()
format -type)Cette syntaxe est inspirée de
ksh93
.En
ksh93
revanche, l'argument est considéré comme une expression de la date où les formats différents et à peine documentés sont pris en charge.Pour une époque Unix, la syntaxe
ksh93
est la suivante:ksh93
semble toutefois utiliser son propre algorithme pour le fuseau horaire et peut se tromper. Par exemple, en Grande-Bretagne, c'était l'été toute l'année 1970, mais:la source
Si votre époque est en millisecondes au lieu de secondes, supprimez les trois derniers chiffres avant de la transmettre à
date -d
:Cela donne des données incorrectes. Supprimez les trois derniers chiffres.
la source
Les deux que j'utilise fréquemment sont:
et
la source
Avec
zsh
vous, vous pouvez utiliser la fonctionstrftime
intégrée:par exemple
Il y a aussi
dateconv
dedateutils
:garder à l'esprit les
dateutils
outils par défaut àUTC
(ajouter-z your/timezone
si nécessaire).la source
Vous pouvez également utiliser un petit programme en C pour imprimer la date et l'heure dans un format pouvant être analysé directement par shell
usage:
la source
Ne serait pas une vraie solution sans un petit noeud.js:
ajouter que
~/.bash_aliases
et assurez-vous que sa source~/.bashrc
avec. ~/.bash_aliases
Pour obtenir le nœud sur votre système, accédez à http://nvm.sh et exécutez la commande curl. Il va installer le gestionnaire de version de noeud (nvm) qui vous permet de changer de version de noeud.
Il suffit de taper
nvm ls-remote
et choisir une version ànvm install <version>
.la source
Il existe un moyen plus simple de procéder: (([[System.DateTimeOffset] :: FromUnixTimeMilliSeconds ($ unixtime)). DateTime) .ToString ("s")
la source