Es ist 8.30 Uhr und ich versuche herauszufinden, wie viele Sekunden es zwischen jetzt und der nächsten vollen Stunde gibt (9:00). Ich denke ich will nur DateTime.Now.AddHours(1
) aber nachdem ich das gemacht habe denke ich ich brauche den "Floor". Wie bekomme ich diesen Wert?
Danke.
Dies scheint am einfachsten zu sein:
%Vor% (wenn Sie es in ganzen Zahlen - Ganzzahl - wollen, dann setzen Sie DateTime.Now...
mit (int)
.
Sie müssen nicht mit Decken und Böden herumspielen. Die Eigenschaft DateTime.Hour
steht für ganze Stunden (es ist eine ganze Zahl zwischen 0 und 23) der Tageszeit, die von DateTime repräsentiert wird. Sie können dies und die DateTime.Date
verwenden Eigenschaft, um die Komponenten der DateTime, die Sie nicht möchten, zu strippen (Subhour-Daten) und dann einfach subtrahieren, um ein TimeSpan
zu erzeugen.
Sie können natürlich die TotalSeconds
-Komponente der resultierenden TimeSpan
extrahieren, wenn Sie das Ergebnis in Sekunden haben wollen.
Sie müssten also die 'Rest' Minuten subtrahieren, den Unterschied finden und diesen mit 60 multiplizieren, oder?
Ich würde Timespan.Parse 08:30 hinzufügen, 1 Stunde zum Objekt hinzufügen, dann den Stundenabschnitt abrufen und eine neue Zeichenfolge mit: 00 als Minuten erstellen und die neue Zeichenfolge analysieren. Es kann einen effizienteren Weg geben, dies zu tun, aber ich finde diese Technik klar zu lesen.