DateTime.ToFileTime DateTime.ToFileTime DateTime.ToFileTime DateTime.ToFileTime Method


現在の DateTime オブジェクトの値を Windows ファイル時刻に変換します。Converts the value of the current DateTime object to a Windows file time.

 long ToFileTime();
public long ToFileTime ();
member this.ToFileTime : unit -> int64
Public Function ToFileTime () As Long


現在の DateTime オブジェクトの値を Windows ファイル時刻で表した値。The value of the current DateTime object expressed as a Windows file time.


結果のファイル時刻が、The resulting file time would represent a date and time before 12:00 midnight January 1, 1601 C.E. 西暦 1601 年 1 月 1 日深夜 12:00 時 (UTC) よりも前の日時を表すことがあります。UTC.

次の例で、ToFileTimeメソッド。The following example demonstrates the ToFileTime method.

int main()
   System::Console::WriteLine( "Enter the file path:" );
   String^ filePath = System::Console::ReadLine();
   if ( System::IO::File::Exists( filePath ) )
      System::DateTime fileCreationDateTime = System::IO::File::GetCreationTime( filePath );
      __int64 fileCreationFileTime = fileCreationDateTime.ToFileTime();
      System::Console::WriteLine( "{0} in file time is {1}.", fileCreationDateTime, fileCreationFileTime );
      System::Console::WriteLine( "{0} is an invalid file", filePath );

static void Main(string[] args)
	System.Console.WriteLine("Enter the file path:");
	string filePath = System.Console.ReadLine();

	if (System.IO.File.Exists(filePath)) {
		System.DateTime fileCreationDateTime = 

		long fileCreationFileTime = fileCreationDateTime.ToFileTime();

		System.Console.WriteLine("{0} in file time is {1}.",
	else {
		System.Console.WriteLine("{0} is an invalid file", filePath);
Public Shared Sub Main()

   System.Console.WriteLine("Enter the file path:")
   Dim filePath As String
   filePath = System.Console.ReadLine()

   If System.IO.File.Exists(filePath) Then
      Dim fileCreationDateTime As System.DateTime
      fileCreationDateTime = System.IO.File.GetCreationTime(filePath)

      Dim fileCreationFileTime As Long
      fileCreationFileTime = fileCreationDateTime.ToFileTime()

      System.Console.WriteLine("{0} in file time is {1}.", _
                               fileCreationDateTime, _
      System.Console.WriteLine("{0} is an invalid file", filePath)
   End If
End Sub


Windows ファイル時刻の西暦 1601 年 1 月 1 日午前 12時 00分以降の経過時間を 100 ナノ秒間隔の数を表す 64 ビット値は、します。A Windows file time is a 64-bit value that represents the number of 100-nanosecond intervals that have elapsed since 12:00 midnight, January 1, 1601 A.D. (西暦)世界協定時刻 (UTC)。(C.E.) Coordinated Universal Time (UTC). Windows では、アプリケーションの作成、アクセスすると、またはファイルに書き込むときを記録するファイルの時刻を使用します。Windows uses a file time to record when an application creates, accesses, or writes to a file.

ToFileTimeメソッドは、Kindプロパティを確認するかどうか、現在DateTimeオブジェクトが現地時刻、UTC 時刻、または未指定の種類、現地時刻として扱われる時間の。The ToFileTime method uses the Kind property to determine whether the current DateTime object is a local time, a UTC time, or an unspecified kind of time which is treated as a local time.

注意 (呼び出し元)

通常、FromFileTime(Int64)メソッドの復元、DateTimeによって保存された値、ToFileTime()メソッド。Ordinarily, the FromFileTime(Int64) method restores a DateTime value that was saved by the ToFileTime() method. ただし、2 つの値は、次の条件下で異なる場合があります。However, the two values may differ under the following conditions: If の逆シリアル化とシリアル化、DateTime値が異なるタイム ゾーンで発生します。- If the serialization and deserialization of the DateTime value occur in different time zones. たとえば場合、DateTime時間が午後 12 時 30 分の値For example, if a DateTime value with a time of 12:30 P.M. 米国の東部標準時ゾーンのシリアル化し、逆シリアル化し、米国の太平洋標準時タイム ゾーン、午後 12 時 30 分の元の値in the U.S. Eastern Time zone is serialized, and then deserialized in the U.S. Pacific Time zone, the original value of 12:30 P.M. 午前 9 時 30 分に調整されます。is adjusted to 9:30 A.M. 2 つのタイム ゾーンの違いを反映します。to reflect the difference between the two time zones.

If、DateTimeシリアル化された値がローカル タイム ゾーンで無効な時刻を表します。- If the DateTime value that is serialized represents an invalid time in the local time zone. ここで、ToFileTime()メソッドは、調整、復元されたDateTimeをローカル タイム ゾーンで有効な時刻を表すように値します。In this case, the ToFileTime() method adjusts the restored DateTime value so that it represents a valid time in the local time zone.

たとえば、標準時間から夏時間への移行は、米国内に発生します。太平洋標準時タイム ゾーン、2010 年 3 月 14 日、午前 2時 00分に時間が午前 3 時に、1 時間進みFor example, the transition from standard time to daylight saving time occurs in the U.S. Pacific Time zone on March 14, 2010, at 2:00 A.M., when the time advances by one hour, to 3:00 A.M. この時間の間隔とは、無効な時間、つまり、このタイム ゾーンに存在しません時間間隔です。This hour interval is an invalid time, that is, a time interval that does not exist in this time zone. 次の例を時間内にあるときにこの範囲が、長整数値に変換されます、ToFileTime()メソッドで復元が、FromFileTime(Int64)メソッド、元の値が有効な時刻に調整します。The following example shows that when a time that falls within this range is converted to a long integer value by the ToFileTime() method and is then restored by the FromFileTime(Int64) method, the original value is adjusted to become a valid time. 特定の日付と時刻の値に渡すことでの変更対象とする可能性があるかどうかを確認することができます、IsInvalidTime(DateTime)メソッドの例として示します。You can determine whether a particular date and time value may be subject to modification by passing it to the IsInvalidTime(DateTime) method, as the example illustrates.

[!code-csharpSystem.DateTime.FromFileTime#1] [!code-vbSystem.DateTime.FromFileTime#1][!code-csharpSystem.DateTime.FromFileTime#1] [!code-vbSystem.DateTime.FromFileTime#1]