DateTime.FromFileTime(Int64) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert die angegebene Windows-Dateizeit in eine entsprechende Ortszeit.
public:
static DateTime FromFileTime(long fileTime);
public static DateTime FromFileTime (long fileTime);
static member FromFileTime : int64 -> DateTime
Public Shared Function FromFileTime (fileTime As Long) As DateTime
Parameter
- fileTime
- Int64
Eine Windows-Dateizeit in Ticks.
Gibt zurück
Ein Objekt, das die Ortszeit darstellt, die der Datums- und Uhrzeitangabe entspricht, die durch den fileTime
-Parameter dargestellt wird.
Ausnahmen
fileTime
ist kleiner als 0 oder stellt eine Zeit größer als DateTime.MaxValue dar.
Beispiele
Das folgende Beispiel veranschaulicht die FromFileTime Methode.
System::TimeSpan FileAge( long fileCreationTime )
{
System::DateTime now = System::DateTime::Now;
try
{
System::DateTime fCreationTime =
System::DateTime::FromFileTime( fileCreationTime );
System::TimeSpan fileAge = now.Subtract( fCreationTime );
return fileAge;
}
catch ( ArgumentOutOfRangeException^ )
{
// fileCreationTime is not valid, so re-throw the exception.
throw;
}
}
open System
let fileAge fileCreationTime =
let now = DateTime.Now
try
let fCreationTime =
DateTime.FromFileTime fileCreationTime
now.Subtract fCreationTime
with :? ArgumentOutOfRangeException ->
// fileCreationTime is not valid, so re-raise the exception.
reraise ()
public System.TimeSpan FileAge(long fileCreationTime) {
System.DateTime now = System.DateTime.Now;
try {
System.DateTime fCreationTime =
System.DateTime.FromFileTime(fileCreationTime);
System.TimeSpan fileAge = now.Subtract(fCreationTime);
return fileAge;
}
catch (ArgumentOutOfRangeException) {
// fileCreationTime is not valid, so re-throw the exception.
throw;
}
}
Public Function FileAge(ByVal fileCreationTime As Long) As System.TimeSpan
Dim now As System.DateTime
now = System.DateTime.Now
Try
Dim fCreationTime As System.DateTime
Dim fAge As System.TimeSpan
fCreationTime = System.DateTime.FromFileTime(fileCreationTime)
fAge = now.Subtract(fCreationTime)
Return fAge
Catch exp As ArgumentOutOfRangeException
' fileCreationTime is not valid, so re-throw the exception.
Throw
End Try
End Function
Hinweise
Eine Windows-Dateizeit ist ein 64-Bit-Wert, der die Anzahl von 100 Nanosekundenintervallen darstellt, die seit 12:00 Uhr, 1. Januar 1601 n. Chr. (C.E.) verstrichen sind. Koordinierte Weltzeit (UTC). Windows verwendet eine Dateizeit, um aufzuzeichnen, wann eine Anwendung eine Datei erstellt, darauf zugreift oder in diese schreibt.
Der fileTime
Parameter gibt eine Dateizeit an, die in 100-Nanosekunden-Ticks ausgedrückt wird.
Ab .NET Framework Version 2.0 ist der Rückgabewert ein DateTime Wert, dessen Kind Eigenschaft istDateTimeKind.Local.
Hinweise für Aufrufer
Normalerweise stellt die FromFileTime(Int64) -Methode einen DateTime Wert wieder her, der von der ToFileTime() -Methode gespeichert wurde. Die beiden Werte können sich jedoch unter den folgenden Bedingungen unterscheiden:
Wenn die Serialisierung und Deserialisierung des Werts DateTime in verschiedenen Zeitzonen erfolgen. Wenn beispielsweise ein DateTime Wert mit einer Zeit von 12:30 Uhr in der östlichen Zeitzone USA serialisiert und dann in der us-pazifischen Zeitzone deserialisiert wird, wird der ursprüngliche Wert von 12:30 P.M. auf 9:30 A.M. angepasst, um den Unterschied zwischen den beiden Zeitzonen widerzuspiegeln.
Wenn der DateTime serialisierte Wert eine ungültige Zeit in der lokalen Zeitzone darstellt. In diesem Fall passt die ToFileTime() Methode den wiederhergestellten DateTime Wert so an, dass er eine gültige Zeit in der lokalen Zeitzone darstellt.
Beispielsweise erfolgt der Übergang von der Standardzeit zur Sommerzeit in der US Pacific Time Zone am 14. März 2010 um 2:00 Uhr, wenn die Zeit um eine Stunde auf 3:00 Uhr a.M. Dieses Stundenintervall ist eine ungültige Zeit, d. h. ein Zeitintervall, das in dieser Zeitzone nicht vorhanden ist. Das folgende Beispiel zeigt, dass der ursprüngliche Wert angepasst wird, wenn eine Zeit, die in diesen Bereich fällt, von der ToFileTime() -Methode in einen langen ganzzahligen Wert konvertiert und dann von der FromFileTime(Int64) -Methode wiederhergestellt wird. Sie können bestimmen, ob ein bestimmter Datums- und Uhrzeitwert geändert werden kann, indem Sie ihn an die IsInvalidTime(DateTime) -Methode übergeben, wie das Beispiel veranschaulicht.
using System; public class Example { public static void Main() { DateTime date1 = new DateTime(2010, 3, 14, 2, 30, 00); Console.WriteLine("Invalid Time: {0}", TimeZoneInfo.Local.IsInvalidTime(date1)); long ft = date1.ToFileTime(); DateTime date2 = DateTime.FromFileTime(ft); Console.WriteLine("{0} -> {1}", date1, date2); } } // The example displays the following output: // Invalid Time: True // 3/14/2010 2:30:00 AM -> 3/14/2010 3:30:00 AM
open System let date1 = DateTime(2010, 3, 14, 2, 30, 00) printfn $"Invalid Time: {TimeZoneInfo.Local.IsInvalidTime date1}" let ft = date1.ToFileTime() let date2 = DateTime.FromFileTime ft printfn $"{date1} -> {date2}" // The example displays the following output: // Invalid Time: True // 3/14/2010 2:30:00 AM -> 3/14/2010 3:30:00 AM
Module Example Public Sub Main() Dim date1 As New DateTime(2010, 3, 14, 2, 30, 00) Console.WriteLine("Invalid Time: {0}", TimeZoneInfo.Local.IsInvalidTime(date1)) Dim ft As Long = date1.ToFileTime() Dim date2 As DateTime = DateTime.FromFileTime(ft) Console.WriteLine("{0} -> {1}", date1, date2) End Sub End Module ' The example displays the following output: ' Invalid Time: True ' 3/14/2010 2:30:00 AM -> 3/14/2010 3:30:00 AM