2009-08-19 4 views
31

Ist es möglich, mit Python die Zeitzone wie dies in PHP zu setzen:Einstellung Zeitzone in Python

date_default_timezone_set("Europe/London"); 
$Year = date('y'); 
$Month = date('m'); 
$Day = date('d'); 
$Hour = date('H'); 
$Minute = date('i'); 

Ich kann nicht wirklich alle anderen Module installieren etc, wie ich bin mit Shared Web Hosting.

Irgendwelche Ideen?

+1

[Zeit zwischen Zeitzonen zu konvertieren, können Sie könnte 'pytz'-Modul verwenden (http://stackoverflow.com/a/18646797/4279) zB' tz = pytz.timezone ('Europe/London'); london_time = tz.normalize (aware_dt.astimezone (tz)) '. Um die lokale Zeit als bewusstes 'Datetime'-Objekt zu erhalten: 'current_local_time = datetime.now (tzlocal.get_localzone())'. – jfs

Antwort

55
>>> import os, time 
>>> time.strftime('%X %x %Z') 
'12:45:20 08/19/09 CDT' 
>>> os.environ['TZ'] = 'Europe/London' 
>>> time.tzset() 
>>> time.strftime('%X %x %Z') 
'18:45:39 08/19/09 BST' 

Um die spezifischen Werte erhalten Sie aufgelistet haben:

>>> year = time.strftime('%Y') 
>>> month = time.strftime('%m') 
>>> day = time.strftime('%d') 
>>> hour = time.strftime('%H') 
>>> minute = time.strftime('%M') 

here für eine vollständige Liste der Richtlinien finden. Beachten Sie, dass die Funktion strftime() immer eine Zeichenfolge zurückgibt, keine Ganzzahl oder einen anderen Typ.

+9

"tzset" ist eine Unix-Funktion. Arrg! – mjhm

0

Es ist keine Antwort, aber ...

datetime Komponenten einzeln zu erhalten, besser nutzen datetime.timetuple:

time = datetime.now() 
time.timetuple() 
#-> time.struct_time(
# tm_year=2014, tm_mon=9, tm_mday=7, 
# tm_hour=2, tm_min=38, tm_sec=5, 
# tm_wday=6, tm_yday=250, tm_isdst=-1 
#) 

Es ist jetzt einfach, die Teile zu erhalten:

ts = time.timetuple() 
ts.tm_year 
ts.tm_mon 
ts.tm_mday 
ts.tm_hour 
ts.tm_min 
ts.tm_sec 
1

Für Windows können Sie verwenden:

Ausführen von Windows-Eingabeaufforderungsbefehlen in Python.

import os 
os.system("tzutil /s \"Central Standard Time\""); 

In Windows-Eingabeaufforderung Versuch:

Dies gibt aktuelle Zeitzone:

TZUtil/g

Dies ergibt eine Liste von Zeitzonen:

tzutil/l

Diese die Zeitzone festgelegt wird:

TZUtil/s "Mittelamerika Standard Time"

Weitere Referenz: http://woshub.com/how-to-set-timezone-from-command-prompt-in-windows/

+0

jedoch für Windows spezifisch –