AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt
Thema durchsuchen
Ansicht
Themen-Optionen

Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

Ein Thema von QuickAndDirty · begonnen am 26. Mai 2025 · letzter Beitrag vom 27. Mai 2025
Antwort Antwort
Seite 1 von 2  1 2      
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#1

Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 26. Mai 2025, 15:28
Also einige User deren Samsung Smartphone ein Update auf Android 15 und OneUI 7.0
erfahren haben bekommen die Uhrzeiten die in der App angezeigt werden im 12 Stunden format angezeigt.
Obwohl die System Uhrezit auf 24h format eingestellt ist.

Hat jemand so eine Erfahrung gemacht?

Delphi-Quellcode:
initialization
  CommonFormat := TFormatSettings.Create('de-DE');// Das wird schon alles initialisiert
  CommonFormat.ShortDateFormat := 'DD.MM.YYYY';
  FormatSettings := TFormatSettings.Create('de-DE');// Das wird schon alles initialisiert
  FormatSettings.ShortDateFormat := 'DD.MM.YYYY';

Das wird so dargestellt
Delphi-Quellcode:
  TimeToStr(self.Time,CommonFormat),
  DateToStr(self.Date,CommonFormat),
Andreas
Nobody goes there anymore. It's too crowded!

Geändert von QuickAndDirty (26. Mai 2025 um 15:34 Uhr)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#2

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 26. Mai 2025, 18:47
Kann man nicht auch für die Zeit entsprechende Formatsettings angeben?


So sollte es gehen.

FS := TFormatSettings.Create;
FS.ShortTimeFormat := 'HH:mm';
FS.LongTimeFormat := 'HH:mm:ss';
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain

Geändert von zeras (26. Mai 2025 um 19:31 Uhr)
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
345 Beiträge
 
Delphi 12 Athens
 
#3

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 27. Mai 2025, 05:56

Hat jemand so eine Erfahrung gemacht?
Ja, ist so. Liegt aber nicht an Samsung sondern ist irgendwann mit Android 15 rein gekommen. Auf einem aktuellen Pixel Smartphone schon seit ca. 6 Monaten so.
In unseren APPs lösen wir das bei der Sprachauswahl und setzen das Format Global über die Formatsettings. Dann muss man nicht jede stelle ergänzen wo DateTimeToStr oder TimeToStr genutzt wird.

Delphi-Quellcode:
var
FS: TFormatSettings;
LanguageCode: string;
begin
  LanguageCode := 'de-DE';
  FS := TFormatSettings.Create(ALanguageCode);
  FS.ShortTimeFormat := 'HH:mm';
  FS.LongTimeFormat := 'HH:mm:ss';
  FormatSettings := FS;
end;
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#4

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 27. Mai 2025, 08:21
Also ich setze die Formatsettings ja auch zentral im initialization Teil meiner Typen-Sammel-Unit...
So wie es aussieht müsste per marshalling ICUlib geladen werden, wenn man den Locale 'de-DE' angibt
das wird im falle von Android in 'de_DE' umgewandelt...
Und wenn der Code nicht in der ICU lib gefunden wird nimmt Sysutils die 'en_US' settings...

Ich habe das leider noch nicht debuggen können(habe kein Android 15) aber ich denke Delphi sollte das korrigieren und weiter funktionieren!
Da ich leider keinen Zugriff auf Quality central habe kann ich den Fehler auch nicht melden.


Ich habe außerdem bemerkt das Mein App als einzige nicht in der "App-Sprache" liste der Einstellungen auftritt. In dieser Liste werden Apps gelistet die eine Sprachauswahl unterstützen.
Ich unterstütze aber keine Sprachauswahl da ich keinen Support in anderen Sprachen liefern kann.
Würde der Locale Code wieder funktionieren wenn die App in der Sprachauswahl liste auftauchen würde? Und wo legt man fest das die App Sprachauswahl unterstützt ?
Hat jemand eine App die in der Liste ist und bei der trotzdem der Locale code nicht funktioniert?

Gemini meint ich soll die
locales_config.xml
vernünftig konfigurieren wtf???

An anderer Stelle heist es, dass seit Android 15 Setlocale nur noch innerhalb einer Activity funtioniert...und dann für alle Activities die davon abgehen gesetzt bleibt...
Ich rufe das Locale ja ab befor irgendeine activity (Form ???) erzeugt ist und ich brauche das ja auch schon vorher.


Im Moment sieht die Lösung so aus??? Wie machen das Firmen mit mehr als einer unterstützten Sprache?
Delphi-Quellcode:
  {
  CommonFormat := TFormatSettings.Create('de-DE');// Das wird schon alles initialisiert
  CommonFormat.ShortDateFormat := 'DD.MM.YYYY';
  }

  CommonFormat.LongDateFormat := 'DD.MM.YYYY';
  CommonFormat.CurrencyString := '';
  CommonFormat.CurrencyFormat := 3;
  CommonFormat.NegCurrFormat := 8;
  CommonFormat.CurrencyDecimals := 2;
  CommonFormat.TimeAMString := '';
  CommonFormat.TimePMString := '';
  CommonFormat.ShortTimeFormat := 'hh:mm:ss';
  CommonFormat.LongTimeFormat := 'hh:mm:ss,zzz';
  CommonFormat.ThousandSeparator := '.';
  CommonFormat.DecimalSeparator := ',';
  CommonFormat.DateSeparator := '.';
  CommonFormat.TimeSeparator := ':';
  {
  FormatSettings := TFormatSettings.Create('de-DE');// Das wird schon alles initialisiert
  FormatSettings.ShortDateFormat := 'DD.MM.YYYY';
  }

  FormatSettings.LongDateFormat := 'DD.MM.YYYY';
  FormatSettings.CurrencyString := '';
  FormatSettings.CurrencyFormat := 3;
  FormatSettings.NegCurrFormat := 8;
  FormatSettings.CurrencyDecimals := 2;
  FormatSettings.TimeAMString := '';
  FormatSettings.TimePMString := '';
  FormatSettings.ShortTimeFormat := 'hh:mm:ss';
  FormatSettings.LongTimeFormat := 'hh:mm:ss,zzz';
  FormatSettings.ThousandSeparator := '.';
  FormatSettings.DecimalSeparator := ',';
  FormatSettings.DateSeparator := '.';
  FormatSettings.TimeSeparator := ':';
Andreas
Nobody goes there anymore. It's too crowded!

Geändert von QuickAndDirty (27. Mai 2025 um 08:39 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#5

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 27. Mai 2025, 08:53
Die funktion die funktionieren muss ist
Delphi-Quellcode:
 udat_open: function(timeStyle: UDateFormatStyle; dateStyle: UDateFormatStyle;
    const locale: MarshaledAString; const tzID: PUChar; tzIDLenght: Int32;
    const pattern: PUChar; patternLenght: Int32; var status: UErrorCode): PUDateFormat; cdecl;
aus der unit System.Internal.ICU

das ist die C funktion
https://unicode-org.github.io/icu-do...d86a00211c4807

Delphi-Quellcode:
udat_open: function(
timeStyle: UDateFormatStyle; //UDateFormatStyle timeStyle
dateStyle: UDateFormatStyle; //UDateFormatStyle dateStyle
const locale: MarshaledAString; //const char* locale
const tzID: PUChar; //const UChar* tzID
tzIDLenght: Int32; //int32_t tzIDLength
const pattern: PUChar; //const UChar* pattern
patternLenght: Int32; //int32_t patternLength
var status: UErrorCode //UErrorCode* status
): PUDateFormat; cdecl; //U_CAPI UDateFormat*
daran hat sich anscheinend nichts geändert sieht korrekt importiert aus.

hm
Andreas
Nobody goes there anymore. It's too crowded!

Geändert von QuickAndDirty (27. Mai 2025 um 09:04 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#6

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 27. Mai 2025, 09:20
Es ist so traurig...
der rückgabe wert ist einefach ein Zeiger auf Daten...ohne durch den tyo vorgegeben struktur...da kann sich was drann ändern und kein compiler merkt es...wtf.

Und ich dachte schon C wäre ok.
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
345 Beiträge
 
Delphi 12 Athens
 
#7

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 27. Mai 2025, 09:44
Aktueller QP-Report dazu (nicht von mir):
https://embt.atlassian.net/servicede...tal/1/RSS-3548

Code:
The cause for the two wrong inialized FormatSettings strings can be found in the unit System.SysUtils, class function TFormatSettings.TranslateDateFormat, local function ICUGetDateTimeFormat. On Android 15 the call to udat_toPatternRelativeTime sets the ErrorConv variable to E_ILLEGAL_ARGUMENT_ERROR, that means that the call failed. Due to this unsuccessful call (and no error check) the result string is empty, so the overall result is the default value h:nn AMPM.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#8

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 27. Mai 2025, 09:50
Code:
On Android 15 the call to udat_toPatternRelativeTime sets the ErrorConv variable to E_ILLEGAL_ARGUMENT_ERROR, that means that the call failed.
Also wird udat_toPatternRelativeTime irgendwie falsch von embarcadero mit werten versorgt oder?
Ich meine Android 15 wird ja nicht immer Fehler melden wenn da keine Fehler sind?

können wir auf einen Patch hoffen (ich habe keinen zugang zu QC) ?
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
345 Beiträge
 
Delphi 12 Athens
 
#9

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 27. Mai 2025, 10:02
Die Anfrage ist vom 23.05.25 und steht auf offen. Mehr Informationen bekommt man vom neuen Quality-Portal leider nicht. Hab mal ein +1 rein geschoben. Ob es einen Patch geben wird oder nicht, dass gibt dir meistens noch nicht mal jemand von Emba. Aber eins kann ich dir mit Sicherheit sagen, es wird dauern.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.058 Beiträge
 
Delphi 12 Athens
 
#10

AW: Android 15 und OneUI7.0 werden die Uhrzeiten 12 Stunden format angezeigt

  Alt 27. Mai 2025, 11:09
Ich meine wir haben ja den quellcode und könnten ihn überarbeiten....leider bin ich nicht so gut in C und Marshallen...Obwohl die ICU lib auf github rumliegt.
Oder wir haben glück und ICUlib hat den Fehler und Android patched das in 12 monaten raus...lol
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz