2017-02-02 2 views
0

Ich mag erhöhen Zeit in -rfc-3339-Format und werde verwendet folgenden Befehl zu erhöhen:Shell-Skripten Zeit in --rfc-3339-Format

`date --date="(date --rfc-3339=seconds) + 5 minutes"` 

aber nach Schritt aktueller Zeit von 5 Minuten, es zeigt, die inkrementierte Systemzeit im Standardformat:

Thu Feb 2 20:06:30 IST 2017.

Ich möchte die gewünschte Ausgabe in --rfc-3339 Format d.h

2017-02-02 20:06:30+05:30.

Vielen Dank im Voraus.

+0

Haben Sie sich das "man date" Ihres Systems angesehen? Es kann eine genaue Option geben, sonst müssen Sie es aus den Teilen aufbauen, also '+% Y-% m-% d% H:% M:% S ...'? Viel Glück. – shellter

+0

hallo shelter, ich habe in Man-Seite geschaut, aber keinen genauen Parameter gefunden, um das inkrementierte Datum in dem erwähnten Format zu behalten. –

+0

danke für den Vorschlag, endlich gefunden Lösung von mir selbst "date -d" 15 Minuten "+ '% Y-% m-% dT% H:% M:% S'" –

Antwort

2

Das ist ziemlich einfach. Das --rfc-3339 Flag sagt dem date Befehl, wie man seine Ausgabe formatiert, aber Sie setzen es innerhalb der Spezifizierer für den Eingang Datum - welches Datum zu formatieren.

In Ihrem Befehl

date --date="(date --rfc-3339=seconds) + 5 minutes" 

der --date="stuff" Teil weist den Befehl, die Sie anzeigen möchten Datum (in Bezug auf die Standardeinstellung „right now“ entgegengesetzt). Es sieht wie Sie möglicherweise eine Art von Mathe mit "nehmen Sie das aktuelle Datum und fügen Sie fünf Minuten", aber tatsächlich ist der Teil in () ist keine gültige Eingabe und wird ignoriert. Sie könnten sagen date --date="(colorless green ideas sleep furiously) + 5 minutes", und Sie erhalten die gleichen Ergebnisse - oder nur date --date="+5 minutes".

Aber natürlich ist das im Standard-Ausgabeformat. Um es in RFC 3339-Format, fügen Sie einfach die Flagge, außerhalb des Eingangsdatum string:

date --date="+5 minutes" --rfc-3339=seconds 

und los geht.

+0

Beachten Sie, dass vorzeichenlose Zahlen als positive Zahlen im Datum genommen werden Eingabeformate, so dass Sie '_date =" 5 Minuten "nur tun können, aber ich finde es besser, das Zeichen immer mit einzuschließen, damit der Zusatz offensichtlich ist. – mattdm

+0

Danke @mattdm ... deine Antwort ist wirklich hilfreich..danke vielmals .. –