Kann ich die Systemzeitzone in Ruby überschreiben?

8

Ich bin hier auf Ubuntu 12.04 , und ich kann sehen:

%Vor%

Dementsprechend gibt Time eine Zeit mit einer Nicht-UTC-Zone zurück:

%Vor%

Ich kann die Systemzeitzone mithilfe der Umgebungsvariable TZ überschreiben:

%Vor%

Kann ich diese Änderung programmatisch innerhalb eines Ruby-Prozesses vornehmen?

    
dukedave 27.03.2013, 20:50
quelle

3 Antworten

8

Sie können Umgebungsvariablen auch innerhalb von Ruby festlegen, indem Sie auf ENV hash:

zugreifen %Vor%

sehen Sie auch diese Antwort: Setzen Sie den Zeitzonen-Offset in Ruby , It bietet eine Möglichkeit, etwas wie

zu schreiben %Vor%     
Patrick Oscity 27.03.2013, 21:02
quelle
1

Je nach Anwendungsfall bietet ActiveSupport eine Menge von TimeZone-bezogenen Werten.

%Vor%

ActiveSupport ist möglicherweise eine größere Abhängigkeit als Sie wollen, aber Sie sollten es nicht übersehen.

    
BM5k 27.03.2013 23:22
quelle
1

Sie können Time#gmtime verwenden. Zum Beispiel

%Vor%

Time#utc funktioniert auch und ist ein Alias ​​für Time#gmtime

    
Ilya O. 27.03.2013 20:55
quelle