it-swarm.com.de

Aktuelles Datum und Uhrzeit ohne Interpunktion anzeigen

Ich möchte beispielsweise das aktuelle Datum und die aktuelle Uhrzeit im folgenden Format anzeigen:

yyyymmddhhmmss 

Wie mache ich das? Es scheint, als ob die meisten Datumsformate mit -, /, :, etc.

105
return 0

Bitte schön:

date +%Y%m%d%H%M%S

Wie man date Oben sagt, können Sie den Befehl date folgendermaßen verwenden:

date [OPTION]... [+FORMAT]

Das heißt, Sie können ihm einen Formatparameter geben, beginnend mit +. Sie können wahrscheinlich die Bedeutung der von mir verwendeten Formatierungssymbole erraten:

  • %Y Ist für das Jahr
  • %m Ist für Monat
  • %d Ist für Tag
  • ... und so weiter

Sie finden dieses und andere Formatierungssymbole in man date.

157
janos

Ein einfaches Beispiel in Shell-Skript

#!/bin/bash

current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;

Ohne Interpunktionsformat: - +% Y% m% d% H% M% S
Mit Interpunktion: - +% Y-% m-% d% H:% M:% S

35
Burusothman

Wenn Sie Bash verwenden, können Sie auch einen der folgenden Befehle verwenden:

printf '%(%Y%m%d%H%M%S)T'       # prints the current time
printf '%(%Y%m%d%H%M%S)T' -1    # same as above
printf '%(%Y%m%d%H%M%S)T' -2    # prints the time the Shell was invoked

Sie können die Option -v varname Verwenden, um das Ergebnis in $varname Zu speichern, anstatt es auf stdout zu drucken:

printf -v varname '%(%Y%m%d%H%M%S)T'

Während der Date-Befehl immer in einer Subshell ausgeführt wird (d. H. In einem separaten Prozess), ist printf ein integrierter Befehl und daher schneller.

5
afaller

Ohne Interpunktion (wie @Burusothman erwähnt hat):

current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;

O/P:

20170115072120

mit Interpunktion:

current_date_time="`date "+%Y-%m-%d %H:%M:%S"`";
echo $current_date_time;

O/P:

2017-01-15 07:25:33
4
Ani Menon

Interessant/lustig Möglichkeit dies mit Parametererweiterung (erfordert bash 4.4 oder neuer):

${[email protected]} - P operator

Die Erweiterung ist eine Zeichenfolge, die das Ergebnis der Erweiterung des Parameterwerts ist, als wäre es eine Eingabeaufforderungszeichenfolge.

$ show_time() { local format='\D{%Y%m%d%H%M%S}'; echo "${[email protected]}"; }
$ show_time
20180724003251
0
PesaThe