cum să obțineți data/ora locală în terminalul linux în timp ce serverul este configurat în UTC/zona de timp diferită? (Programare, Linux, Bash, Terminal)

Robert Ranjan a intrebat.

cum să obțineți data locală & timp în terminalul linux în timp ce serverul este configurat în UTC sau în alt fus orar?

aici este ceea ce primesc acum, dar aș dori să văd în fusul orar local. De exemplu: PST/PDT.

[[email protected] ~]$ date
Thu Jul 28 18:16:48 UTC 2016

Nu caut să schimb ora sistemului folosind hwclock sau actualizând /etc/localtime. Vreau doar să o schimb pentru un utilizator.

De asemenea, vă rog să mă anunțați – cum să o mențin pentru autentificări viitoare.

3 răspunsuri
heemayl

Utilizați TZ variabila de mediu pentru a transmite fusul orar dorit către date:

TZ=<timezone> date

Puteți găsi fusurile orare disponibile în /usr/share/zoneinfo/ și în subdirectoare. De exemplu, /usr/share/zoneinfo/America/New_York definește TZ=America/New_York.

Exemplu:

$ date                         
Fri Jul 29 06:31:53 BDT 2016

$ TZ='America/New_York' date   
Thu Jul 28 20:31:58 EDT 2016

$ TZ='America/Los_Angeles' date
Thu Jul 28 17:31:54 PDT 2016

Ebram

Pentru o oră locală, se utilizează „data„. Pentru ora UTC, utilizați „date -u„.

Comentarii

  • Cum a atras aceasta cele mai multe voturi de sus? Nu numai că nu răspunde la întrebarea reală, dar sugerează să folosiți în schimb ora locală de pe server. Aceasta din urmă fiind destul de stupidă – comoditatea nu de a seta TZ în shell-ul local este depășit de faptul că UTC nu are problema stupidă a orelor de vară… –  > Por tink.
Thomas Dickey

Puteți afișa ora locală prin înlocuirea parametrului TZ variabila de mediu pentru procesul care tipărește data. POSIX spune o mulțime de lucruri despre acest subiect, începând cu

Această variabilă reprezintă informații despre fusul orar. Conținutul variabilei de mediu numită TZ este utilizat de către ctime(), ctime_r(), localtime(), localtime_r() strftime(), mktime(), precum și de diverse utilitare, pentru a înlocui fusul orar implicit.

Valorile convenționale ale fusului orar cu 3 caractere au fost cu ceva timp în urmă (mai mult sau mai puțin) standardizate pentru a se renunța la formele cu 3 caractere, folosind funcția combinate forma standard și cea a orei de vară. Forma preferată utilizată pentru PDT este PST8PDT.

Există o pagină pe VMware care arată denumirile și menționează că acestea sunt folosite pe Linux; puteți observa că foarte puține dintre acestea au forma de 3 caractere (în afară de forma generică UTC+offset).

Lectură suplimentară:

Comentarii

  • Vă mulțumim pentru link-uri. Mi-a plăcut cea de la VMWare Valori valabile ale fusului orar link. –  > Por Robert Ranjan.