--2016.12.12
4. Das Argument def im Skript date = datetime.datetime.today () wurde korrigiert.
Wenn dies unverändert bleibt, ist die Standardeinstellung die Zeit, zu der def einmal gelesen wurde. Weil es wird.
――Es ist mühsam, manuell zu wechseln und zu beurteilen, ob die wichtigsten Börsen der Welt in diesem Sommer sind. Kann es automatisiert werden?
――Ich versuche mehr über die Zeitzone herauszufinden.
-Obwohl es meistens in [Python] Zeitzone konvertieren erklärt wird, frage ich mich, ob Sie es zu einer Überprüfungsfunktion machen können, damit Sie sich nicht jedes Mal Sorgen machen müssen.
--python3.x (wahrscheinlich ist 2.7 in Ordnung)
Sie können dies überprüfen, indem Sie das folgende Skript einbetten.
--calcdifftime: Zeitunterschied zur angegebenen Zeitzone der angegebenen Zeit (Japan, falls nicht angegeben) Dies muss erforderlich sein.
--checkdst: Überprüft, ob die Zeitzone des designierten Wertpapierunternehmens zur angegebenen Zeit Sommerzeit ist (angegebene Zeitzone (Japan, falls nicht angegeben))
Weitere Informationen zur Verwendung finden Sie unter 5. Überprüfung.
import pytz ,datetime
#Bei Bedarf von hier aus hinzufügen.
tzUTC = pytz.timezone("UTC") #Standardzeit
tzNYC = pytz.timezone("America/New_York") #USA(New York)
tzTYO = pytz.timezone("Asia/Tokyo") #Japan(Tokio)
tzLON = pytz.timezone("Europe/London") #England(London)
tzYTO = pytz.timezone("America/Toronto") #Kanada(Toronto)
tzSAO = pytz.timezone("America/Sao_Paulo") #Brasilien(Sao Paulo)
tzSYD = pytz.timezone("Australia/Sydney") #Australien(Sydney)
tzFRA = pytz.timezone("Europe/Berlin") #Deutschland(Frankfurt) *Frankfurt、ヘッセン州がなかったのでベルリン
#Bisher
def calcdifftime(tz = tzNYC, date = -1,tzbase = -1):
"""
[param]
tz : checked pytz.timezone
date:checked datetime
tzbase:bassis pytz.timezone
[return]
float:different hours
"""
if(date==-1):
date = datetime.datetime.today()
if(tzbase==-1):
tzbase = tzTYO
tabse = tzbase.localize(date)
tztime = tz.localize(date)
diff = tabse - tztime
diff_hours = diff.total_seconds()/3600
return(diff_hours)
def checkdst(tz = tzNYC, date=-1,tzbase=-1):
"""
[param]
tz : checked pytz.timezone
date:checked datetime
tzbase:bassis pytz.timezone
[return]
bool: True:dst , False:std
"""
if(date==-1):
date = datetime.datetime.today()
if(tzbase==-1):
tzbase = tzTYO
tbase = tzbase.localize(date)
chgdate = tbase.astimezone(tz)
#print(chgdate)
if(chgdate.dst().seconds !=0):
return(True)
else:
return(False)
Derzeit überprüfen wir die Start- und Endzeiten der Sommerzeit in den USA in Japan und die Ortszeit.
def tztest(t,tz,tzbase = -1):
diff = calcdifftime(tz,t) #Zeitunterschied zu Japan
if(tzbase == -1): #Wenn tzbase nicht angegeben ist(In Japan Zeit)Betriebstest
if(checkdst(tz,t)):
st = "daylight saving time"
else:
st = "standard time"
elif(checkdst(tz,t,tzbase)): #Testen Sie, wann tzbase angegeben ist (für die grundlegende Ortszeit)
st = "daylight saving time"
else:
st = "standard time"
if(tzbase == -1):
tzbasename = tzTYO.zone
else:
tzbasename = tzbase.zone
print("Check time ",t,tzbasename)
print("tz name".ljust(20),"Time diff".ljust(10),"DST STD")
print(tz.zone.ljust(20),str(diff).ljust(10),st)
print("Check in Japan Zeit")
#US (US) Sommerzeitcheck
#Check time 2016-03-13 16:00:00 Asia/Tokyo
#tz name Time diff DST STD
#America/New_York -13.0 daylight saving time
t = datetime.datetime(2016, 3, 13, 16, 0)
tztest(t,tzNYC)
#US (US) normaler Scheck
#Check time 2016-11-06 15:00:00 Asia/Tokyo
#tz name Time diff DST STD
#America/New_York -14.0 standard time
t = datetime.datetime(2016, 11, 6, 15, 0)
tztest(t,tzNYC)
print("Check in Ortszeit")
#US (US) Sommerzeitcheck
#Check time 2016-03-13 03:00:00 America/New_York
#tz name Time diff DST STD
#America/New_York -13.0 daylight saving time
t = datetime.datetime(2016, 3, 13, 3, 0)
tztest(t,tzNYC,tzNYC)
#US (US) normaler Scheck
#Check time 2016-11-06 01:00:00 America/New_York
#tz name Time diff DST STD
#America/New_York -14.0 standard time
t = datetime.datetime(2016, 11, 6, 1, 0)
tztest(t,tzNYC,tzNYC)
――Die Sommerzeit in den USA ändert sich am 13. März 2016 um 2:00 Uhr. Wie sieht es also mit der Sommerzeit von hier aus aus? Bitte beachten Sie jedoch, dass es möglich ist zu beurteilen, dass es am 13. März 2016 um 3:00 Uhr (eine Stunde im Voraus) Sommer ist, als es tatsächlich begann.
Es wird am 6. November 2016 um 2:00 Uhr zur Standardzeit zurückkehren, aber es scheint, dass es bis 6:00 Uhr am 6. November 2016 (eine Stunde zurück) als Sommerzeit beurteilt werden kann, wenn es zur Standardzeit zurückkehrt. (1 Uhr am 6. November 2016 wird als Standardzeit eingestuft)
――Da Deutschland und andere Länder ähnlich sind, müssen Sie anscheinend vorsichtig mit der Zeit für die Überprüfung sein.
――Streng genommen gibt es seltsame (nicht überprüfbare) Zeiten, aber die Start- und Endzeiten der Sommerzeit sind sonntags Mitternacht und der Markt ist geschlossen, sodass Sie sich möglicherweise keine Sorgen machen müssen. Seien Sie jedoch vorsichtig, wenn Sie einmal pro Woche (z. B. Sonntag) nachsehen.
――Dieses Mal habe ich mich auf den Namen einer bestimmten Stadt einer Wertpapierfirma in jedem Land bezogen. Was sollten Sie mit der Abkürzung tun? Angemessen? ?? Ich habe die Abkürzung für die Stadt verwendet, aber zu diesem Zeitpunkt habe ich mich auf den Stadt- / Flughafencode bezogen, der möglicherweise billiger zu verwenden ist. Ich beziehe mich darauf.