AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Prüfung, ob aktuelle Zeitzone der deutschen entspricht
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfung, ob aktuelle Zeitzone der deutschen entspricht

Ein Thema von bra · begonnen am 11. Feb 2016 · letzter Beitrag vom 11. Feb 2016
Antwort Antwort
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Prüfung, ob aktuelle Zeitzone der deutschen entspricht

  Alt 11. Feb 2016, 11:54
1. Ich brauche für unsere App eine Möglichkeit, herauszufinden, ob das Gerät aktuell in der deutschen Zeitzone unterwegs ist.

Ich habe bisher folgenden Code. Allerdings funktioniert der nicht, wenn man z.B. die afrikanische Zeitzone Windhuk (GMT+1) einstellt, bei denen aber Sommerzeit und Standardzeit mit der unseren vertauscht sind (weil Südhalbkugel).

Delphi-Quellcode:
if TTimeZone.Local.IsStandardTime(EncodeDate(2016, 1, 1)) and TTimeZone.Local.IsDaylightTime(EncodeDate(2016, 7, 1)) and
    ((TTimeZone.Local.IsStandardTime(Now) and (TTimeZone.Local.UtcOffset.TotalMinutes = 60)) or (TTimeZone.Local.IsDaylightTime(Now) and (TTimeZone.Local.UtcOffset.TotalMinutes = 120))) then
    ShowMessage('Zeitzone entspricht deutscher Zeitzone.')
  else
    ShowMessage('Zeitzone entspricht NICHT der deutschen Zeitzone.')
Reine Windows-Funktionen bringen mich hier nicht weiter, da ich das auch für iOS und Android brauche. Hat da jemand eine Idee?

EDIT: Fehler gefunden, da fehlte eine Klammer. Problem gelöst (hab den Quellcode oben angepasst)


2. Gibt es eigentlich die Möglichkeit, ein bestimmtes Datetime, welches in deutscher Zeit ist, in UTC umzuwandeln, sich das Gerät aber in irgendeiner beliebigen Zeitzone aufhält?
Beispiel: 01.01.2000 10:00 Uhr deutsche Zeit soll in UTC umgewandelt werden, das Gerät ist aber bspw. in UTC+5.
Man könnte zwar einfach UTC+1/+2 annehmen, dann müsste ich aber auch wissen, ob das Datum in deutscher Sommerzeit ist oder nicht.

Geändert von bra (11. Feb 2016 um 12:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Prüfung, ob aktuelle Zeitzone der deutschen entspricht

  Alt 11. Feb 2016, 12:58
Eine deutsche Zeit ist mir nicht bekannt, eine Mitteleuropäische Zeit bzw. Mitteleuropäische Sommerzeit schon eher

Theoretisch sollte es möglich sein mit Delphi-Referenz durchsuchenTTimeZone.ID bzw. Delphi-Referenz durchsuchenTTimeZone.Abbreviation einen eindeutigen Hinweis auf die aktuelle Zeitzone zu bekommen, da die Kommentare das vermuten lassen:
Delphi-Quellcode:
    { Retunrs the time zone identification string. }
    property ID: string read DoGetID;

    { Specifies the display name (localized if possible) of this time zone. }
    property DisplayName: string read GetDisplayNameForNow;

    { Current time zone's abbreviation. Non-localized, always specified, and has the form: GMT[+|-HH[:MM]]. }
    property Abbreviation: string read GetAbbreviationForNow;
nur das die ID eben nicht so ganz identifizierend ist (ich kann mir nicht vorstellen, dass auf einem OS mit Timbuktu-Sprache da auch ein "Mitteleuropäische Zeit" herauskommen würde).

Aktuell gibt es bei mir:
Code:
ID ..........: Mitteleuropäische Zeit
DisplayName .: Mitteleuropäische Zeit
Abbreviation : GMT+01
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Prüfung, ob aktuelle Zeitzone der deutschen entspricht

  Alt 11. Feb 2016, 13:22
TTimeZone.GetUtcOffset könnte helfen. Für Deutschland dürfte es +1 sein. (Nicht getestet)
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Prüfung, ob aktuelle Zeitzone der deutschen entspricht

  Alt 11. Feb 2016, 13:25
TTimeZone.GetUtcOffset könnte helfen. Für Deutschland dürfte es +1 sein. (Nicht getestet)
Das gibt es auch bei Westzentralafrika
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Prüfung, ob aktuelle Zeitzone der deutschen entspricht

  Alt 11. Feb 2016, 13:35
TTimeZone.GetUtcOffset könnte helfen. Für Deutschland dürfte es +1 sein. (Nicht getestet)
Nur nicht im Sommer


Aktuell gibt es bei mir:
Code:
ID ..........: Mitteleuropäische Zeit
DisplayName .: Mitteleuropäische Zeit
Abbreviation : GMT+01
Das war auch mein erster Gedanke, allerdings kommt da bei iOS:
ID: Europa/Berlin
Displayname: Mitteleuropäische Normalzeit

Und wenn die Systemsprache nicht deutsch ist, kommt sowieso was anderes. Daher halte ich da nicht so viel von Stringvergleichen.

Wie im Edit schon geschrieben, funktioniert die Abfrage jetzt bei mir. Interessant wäre, ob zu 2. noch jemand eine Idee hat.

Geändert von bra (11. Feb 2016 um 13:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Prüfung, ob aktuelle Zeitzone der deutschen entspricht

  Alt 11. Feb 2016, 14:40
TTimeZone.GetUtcOffset könnte helfen. Für Deutschland dürfte es +1 sein. (Nicht getestet)
Das gibt es auch bei Westzentralafrika
das haben Zeitzonen so an sich.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz