SORU
22 Ocak 2011, CUMARTESİ


Python - yerel datetime UTC tarih dizesi Dönüştürmek

Asla ve utc zaman dönüştürmek zorunda kaldım. Son bir istek uygulamam saat dilimi farkında olmak zorunda, ve çevrelerinde kendimden kaçıyordum. Bir sürü bilgiyi dönüştürme yerel saat utc, buldum oldukça basit (belki de bunu yapmam yanlış), ama ben bulamıyorum herhangi bir bilgiyi kolayca dönüştürme utc zaman son kullanıcıların zaman dilimi.

Özetle, ve android uygulaması beni bir veri gönderme içinde (appengine uygulama) veri gönderir. O zaman damgası kullanıyorum utc zamanını deposu:

datetime.utcfromtimestamp(timestamp)

Bu çalışıyor gibi görünüyor. Benim app verileri saklar, 5 saat ileri (EST -5 duyuyorum) olarak saklayın

Veri appengine. BigTable saklanan ediliyor ve alınan bu kadar gibi: bir string olarak geliyor

"2011-01-21 02:37:21"

Kullanıcılar nasıl bir zaman dilimi için doğru bir DateTime için bu dize dönüştürebilirim?

Ayrıca, kullanıcılar zaman dilimini bir bilgi için Önerilen depolama nedir? (Nasıl yani genellikle tz bilgi deposu musunuz: "-5:00" veya "" vs vs ?) EST İlk sorum, ikinci cevaplar bir parametre içerebilir eminim.

CEVAP
23 Ocak 2011, Pazar


Eğer tzinfo kendi nesneleri sağlamak istiyorsanız Eğer, python-dateutil kütüphane göz atın. Biraz kurallı bir ad ile bir saat dilimi kuralları başvurabilirsiniz zoneinfo (Olson) database böyle üstüne tzinfo uygulamaları sağlar.

from datetime import datetime
from dateutil import tz

# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')

# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()

# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')

# Tell the datetime object that it's in UTC time zone since 
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)

# Convert time zone
central = utc.astimezone(to_zone)

EditGenişletilmiş örnek strptime kullanım göstermek için

2 düzenleyinSabit API kullanımı daha iyi bir giriş noktası yöntemi göstermek için

3 düzenlemekDahil otomatik algılama dilimleri (Çaldım) yöntemleri

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fuse

    Fuse

    21 Kasım 2005
  • martin shervington

    martin sherv

    7 EKİM 2011
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011