So entfernen Sie die Sekunden von Time, ohne Rückgriff auf TimeToStr(const datetime:TDateTime; const Formateinstellungen:TFormatSettings)

Wie kann die Sekunden entfernt von einer Time-variable ohne Rückgriff auf den zusätzlichen Aufwand mit TimeToStr(const datetime:TDateTime; const Formateinstellungen:TFormatSettings), um den Time-Wert ohne die Sekunden?

ie das ist, was ich brauche -> HH:MM:00 Uhr.

Ist es eine Art mathematische operation (wie und-Verknüpfung oder-Verknüpfung den Wert mit etwas) durchgeführt werden können?

  • Tatsächlich, Sie können nicht! Eine Time-variable intern gespeichert, als ein Schwimmer. Float-Werte Rundungsfehler. Beim Runden einer Zeit, zu Minuten, einem Rundungsfehler auftreten können, verwandeln Sie z.B. 13:17:59 13:18:01 anstatt 13:18:00... Sehr kleine chance, aber immer noch...
  • Ja, das ist richtig und kann gelegentlich Ursache von schwer Fehler zu finden. Wenn Ihre Anwendung ist wirklich abhängig von diesem, um genau zu sein, verwenden Sie keine Time oder TDateTime für die Zeit-Berechnungen. Halten Sie auch im Verstand, dass zukünftige Versionen von Delphi ändern kann die Präzision von floating-point-Berechnungen. Eine andere Sache über die Verwendung von DateUtils, verwenden Sie unbedingt die neueste version, oder zumindest der Nick Hodges veröffentlicht [cc.embarcadero.com/item/27675]. John Herbster geschrieben hat, viel über ein besseres format für TDateTime [forums.embarcadero.com/thread.jspa?threadID=3867].
InformationsquelleAutor Steve F | 2011-06-25
Schreibe einen Kommentar