DateTime.ToFileTime メソッド

定義

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

public:
 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 );
   }
   else
   {
      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 = 
            System.IO.File.GetCreationTime(filePath);

        long fileCreationFileTime = fileCreationDateTime.ToFileTime();

        System.Console.WriteLine("{0} in file time is {1}.",
                                 fileCreationDateTime,
                                 fileCreationFileTime);
    } 
    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, _
                               fileCreationFileTime)
   Else
      System.Console.WriteLine("{0} is an invalid file", filePath)
   End If
End Sub

注釈

Windows ファイル時刻は、64年1月 1601 1 日の午前0時から12:00 に経過した100ナノ秒間隔の数を表すビット値です。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) メソッドは ToFileTime() メソッドによって保存された DateTime 値を復元します。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: -DateTime 値のシリアル化と逆シリアル化が異なるタイムゾーンで発生する場合。- If the serialization and deserialization of the DateTime value occur in different time zones. たとえば、時刻が12:30 である DateTime 値の場合、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.

-シリアル化された 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.

たとえば、標準時から夏時間への移行は、2:00 2010 年3月14日の米国太平洋標準時ゾーンで行われます。これは、時間が 1 3:00 時間経過したとき、午前15時になります。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-csharp. FromFileTime # 1][! コード-vbシステム. DateTime. FromFileTime # 1][!code-csharpSystem.DateTime.FromFileTime#1] [!code-vbSystem.DateTime.FromFileTime#1]

適用対象

こちらもご覧ください