Holen Sie sich das Datum von Gestern in solaris
Ich bin mit SunOS.
bash-3.00$ uname -a
SunOS lvsaishdc3in0001 5.10 Generic_142901-02 i86pc i386 i86pc
Ich muss Yesterday's date in linux
mit der richtigen Formatierung übergeben von der Eingabeaufforderung aus. Als ich versuchte, wie diese auf mein shell-prompt-
bash-3.00$ date --date='yesterday' '+%Y%m%d'
date: illegal option -- date=yesterday
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
Bekomme ich immer das Datum illegal option
, warum ist es so?
Gibt es irgendetwas, was ich falsch mache?
Update:-
bash-3.00$ date --version
date: illegal option -- version
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff]
Das funktioniert bei mir auch unter linux
Das ist nicht für mich arbeiten. Gibt es irgendwelche Informationen, die Sie brauchen, von mir aus, gerne, warum es nicht funktioniert?
Was bedeutet
Ich aktualisierte die Frage mit der Ausgabe des Befehls.
Sie sind nicht mit GNU
Das ist nicht für mich arbeiten. Gibt es irgendwelche Informationen, die Sie brauchen, von mir aus, gerne, warum es nicht funktioniert?
Was bedeutet
date --version
sagen? (die Ergebnisse posten Sie Ihre Frage, nicht in einem Kommentar, weil die Formatierung erhalten gehimmelt)Ich aktualisierte die Frage mit der Ausgabe des Befehls.
Sie sind nicht mit GNU
date
, so dass Sie nicht haben Zugriff auf alle die Lust Optionen die Leute reden. Sie können install GNU date für Solaris, oder Sie schreiben könnte ein kleines Perl/Python/etc script, dass das gleiche tun könnte.InformationsquelleAutor AKIWEB | 2012-08-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese unter Sache. Sollte es funktionieren
Mit dieser Lösung könnten Sie problem haben, wenn Sie diesen Stapel um (-1h,+1h) Mitternacht. Es hängt von der TZ, so stellen Sie sicher, dass Sie Ihre aktuelle TZ, d.h., MEZ oder GMT+1, etc.
InformationsquelleAutor arsenal
Probieren Sie es einfach aus:
wo die GMT ist die Zeitzone, und Sie müssen möglicherweise ändern, um die 24 nach den Stunden Differenz, die Sie von GMT. Entweder das, oder Sie können ändern, GMT, Zeitzone komfortabler Sie z.B. CST
InformationsquelleAutor gkaran89
Als larsks vorgeschlagen, Sie können perl:
Leicht abgewandelt von
http://blog.rootshell.be/2006/05/04/solaris-yesterday-date/
Bekommen JJJJMMTT format verwenden Sie diese
Dieser link erklärt, wie man Datum und Uhrzeit formatieren mit strftime
http://perltraining.com.au/tips/2009-02-26.html
YearMonthDay
aus, dass perl-Skript? wie 20120706Ich bearbeitet meine Antwort oben zu umfassen, die YearMonthDay format requestd.
InformationsquelleAutor amdn
Einer reinen bash-Lösung
Es sind extra Räume in der
day = last_day_of_month
Anweisung; Update es und ich Geb dir ein +1, vor allem, da sonst Ihre Lösung ist die einzige, die immer gibt eine richtige Antwort, unabhängig von der Zeitzone.gibt es vielleicht ein tool, das hat die Lösung-aber dann schlagen Sie es als eine Antwort. Alle (aktuellen) restlichen Antworten sind mehr oder weniger geben oft ein Falsches Datum. Das Rad neu erfinden kann notwendig sein, wenn Sie möchten, eine perfekt Runde eins aber finde keine. Die akzeptierte Antwort ist ganz ein Quadrat Rad durch die Art und Weise ...
vielen Dank für die Korrektur meiner Fehler
InformationsquelleAutor olivecoder
TZ=$TZ+24 date +'%Y/%m/%d'
in SunOS.InformationsquelleAutor Arun
Spielen auf Solaris 10 mit non-GMT-Umgebung, ich bin immer dies:
Als Sie colud sehen, ich habe und ich will CEST , aber TZ=CEST+24 die mir falsch CEST Daten; GMT+24 geben mir die richtigen Daten aber unbrauchbar.
Bekommen das richtige Ergebnis, die ich zu verwenden hat GMT+22 (falscher Befehl, richtiges Ergebnis) oder MESZ+22 (falschen Wert, aber finnaly richtige Ergebnis für die richtige TZ)
InformationsquelleAutor user2622547
Einer reinen bash-Lösung gegeben, die durch @olivecoder ist sehr zuverlässig im Vergleich zu jeder anderen Lösung, aber es ist ein Fehler, der korrigiert werden. wenn der Tag fällt auf den 1. des Monats das Skript fehlschlägt, mit Datum sagen "
last_day_of_month
" in Tag-Wert. @olivecoder verpasst hat $ inday=last_day_of_month
, dass es sein sollteNach dieser Korrektur funktioniert es sehr gut.
Mit Zeitzone -24 ist mit einigen Ausgabe basierend auf Zeit, wenn es zu benutzen. in einigen Fällen geht es bis vorgestern. Also ich denke, dass es nicht zuverlässig.
InformationsquelleAutor