Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Unterscheidung 00:00 Uhr und 24:00 Uhr
uNki
myCSharp.de - Member



Dabei seit:
Beiträge: 58

Themenstarter:

Unterscheidung 00:00 Uhr und 24:00 Uhr

beantworten | zitieren | melden

hi!

ich suche eine möglichkeit, 24 uhr eines tages darzustellen.

wenn ich zu "17.02.2012 23:55:00" 5 minuten addiere, ist das ergebnis "18.02.2012 00:00:00". das ist für mich aber nicht brauchbar. ich benötige "17.02.2012 24:00:00".
möchte das ende eines tages und nicht den anfang des nächsten tages haben. (auch wenn das im grunde das selbe sein mag)

gibt es da eine möglichkeit? evtl. über globalization-einstellungen o.ä.?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16.288

beantworten | zitieren | melden

Es gibt kein 24 Uhr; das ist ein Irrglauben und nur ein sprachlicher Gebrauch. Der Tag hat schließlich 24 volle Stunden, nicht 25.
23:59:59 ist die "höchste" Uhrzeit eines Tages. Eine Sekunde später beginnt bereits der nächste Tag.
private Nachricht | Beiträge des Benutzers
wcseller
myCSharp.de - Member



Dabei seit:
Beiträge: 188

beantworten | zitieren | melden

24:00 Uhr gibt es nicht. Der Tag endet 23:59:59. Mit der nächsten Sekunde beginnt schon der neue Tag. Insofern ist das Ergebnis, dass Du bisher bekommst völlig korrekt.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo uNki,

mal abgesehen davon, wie das praktisch definiert ist, kann DateTime nicht, was du möchtest. Genauso wenig, wie man -0 und 0 in einem int unterscheiden kann. Wenn man -0 in einen Int schreibt und wieder ausliest, bekommt man 0 und nicht -0.

Du musst dir die fehlende Information also separat merken oder aus dem Kontext ableiten, z.B. wenn es um eine StartTime geht, 00:00:00 als 00:00:00 und wenn es um eine EndTime geht, 00:00:00 als 24:00:00 interpretieren. Natürlich unter Berücksichtigung des resultierenden Wechsels des Tagesdatums.

herbivore
private Nachricht | Beiträge des Benutzers
uNki
myCSharp.de - Member



Dabei seit:
Beiträge: 58

Themenstarter:

beantworten | zitieren | melden

Zitat
Insofern ist das Ergebnis, dass Du bisher bekommst völlig korrekt.

habe nicht behauptet, dass es falsch ist. habe explizit gesagt, dass es für mich nicht brauchbar ist.

dass 24 uhr und 00 uhr für die selbe zeit stehen, habe ich auch nicht bestritten.
Zitat
(auch wenn das im grunde das selbe sein mag)


@herbivore

ja, so habe ich mir das gedacht. hatte nur gehofft, dass es im framework evtl. doch eine möglichkeit gibt, das ende eines tages gesondert zu interpretieren.

danke
private Nachricht | Beiträge des Benutzers
winSharp93
myCSharp.de - Experte

Avatar #avatar-2918.png


Dabei seit:
Beiträge: 5.742
Herkunft: Stuttgart

beantworten | zitieren | melden

Zitat von uNki
dass es im framework evtl. doch eine möglichkeit gibt, das ende eines tages gesondert zu interpretieren.
Genau die gibt es ja (23:59:59:...)!

Deine Frage ist viel mehr: "Gibt es im Framework die Möglichkeiten, auch ungültige DateTimes zu erstellen?"
Und die Antwort dazu lautet: Nein, gibt es nicht.
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Experte



Dabei seit:
Beiträge: 2.083
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

Die Frage die ich mir stelle ist, wozu sollte man sowas brauchen?
Dies darzustellen ist genauso unsinnig wie damit zu rechnen :/

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
punkdevil
myCSharp.de - Member



Dabei seit:
Beiträge: 992

beantworten | zitieren | melden

Zum Darstellen eines Zeitraumes kann ich mir das schon vorstellen:
08.00 - 24:00

sieht besser aus als:

08:00 - 23:59:59 oder
08:00 - 00:00 nächster Tag
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo T-Virus,

das sehe ich anders. Es ist in der realen Welt durchaus üblich, einen Zeitpunkt am Ende des Tages als 24:00 darzustellen. Zum Beispiel geöffnet von 0:00 bis 24:00 Uhr. Entsprechend würde es auch Sinn machen, wenn man damit rechnen könnte.

Dass man es mit DateTime nicht kann und was man stattdessen machen kann, wurde ja schon gesagt.

herbivore
private Nachricht | Beiträge des Benutzers
uNki
myCSharp.de - Member



Dabei seit:
Beiträge: 58

Themenstarter:

beantworten | zitieren | melden

Zitat
Die Frage die ich mir stelle ist, wozu sollte man sowas brauchen?
Dies darzustellen ist genauso unsinnig wie damit zu rechnen :/

etwas vermessen diese aussage, oder? ;)

wenn du einen kalender hast, wie im outlook beispielsweise, in dem volle tage nebeneinander abgebildet werden, hast du pro woche z.b. 7 spalten von 0 bis 24 uhr.
24 uhr in der spalte montag ist zwar nach allgemeinem verständnis die selbe zeit wie 0 uhr am dienstag, jedoch sind es zwei verschiedene punkte auf dem kalender. der eine ist unten, der andere ist oben. wenn man dann termine grafisch darstellt, wird das thema durchaus relevant.
private Nachricht | Beiträge des Benutzers

Moderationshinweis von herbivore (17.02.2012 - 13:48)

Damit ist das Thema wohl erschöpfend behandelt.