Ich möchte eine DateTime
Instanz in eine TimeSpan
Instanz konvertieren. Ist das möglich?
Ich habe mich umgesehen, aber ich konnte nicht finden, was ich will, ich finde nur Zeitunterschied. Insbesondere möchte ich eine DateTime
Instanz in Millisekunden konvertieren , um sie dann in einem IsolatedStorage zu speichern.
DateTime myDateTime = DateTime.UtcNow;
oder was auch immer verwenden, um etwas in eine bestimmte Instanz von zu bringenDateTime
, dann können Sie verwendenmyDateTime.TimeOfDay;
. Alternativ können Sie den Mittelsmann ausschneiden und sagenDateTime.UtcNow.TimeOfDay
, natch. (Das heißt,DateTime.TimeOfDay
der aktuelle Beispielcode ist "ungültig" und gibt Ihnen keinen Wert auf die gleiche WeiseDateTime.UtcNow
, was Sinn macht. Sie benötigen einen bestimmtenDateTime
, um seinenTimeOfDay
Wert zu ermitteln.)quelle
TimeOfDay
ist nur die Uhrzeit und enthält nicht das aktuelle Datum in derTimeSpan
.Versuchen Sie den folgenden Code.
Holen Sie sich die Uhrzeit und weisen Sie sie der
TimeSpan
Variablen zu.quelle
Wenn Sie WPF und Xceeds TimePicker (der anscheinend DateTime verwendet?) Als Zeitspannenauswahl verwenden - wie ich es gerade tue -, können Sie die gesamten Millisekunden (oder eine Zeitspanne) wie folgt daraus abrufen:
var milliseconds = DateTimeToTimeSpan(timePicker.Value).TotalMilliseconds; TimeSpan DateTimeToTimeSpan(DateTime? ts) { if (!ts.HasValue) return TimeSpan.Zero; else return new TimeSpan(0, ts.Value.Hour, ts.Value.Minute, ts.Value.Second, ts.Value.Millisecond); }
XAML:
<Xceed:TimePicker x:Name="timePicker" Format="Custom" FormatString="H'h 'm'm 's's'" />
Wenn nicht, können Sie mein DateTimeToTimeSpan () einfach so anpassen, dass es auch 'Tage' berücksichtigt oder etwas anderes tut
dateTime.Substract(DateTime.MinValue).TotalMilliseconds
.quelle