DateTime.FromFileTime(Int64) DateTime.FromFileTime(Int64) DateTime.FromFileTime(Int64) DateTime.FromFileTime(Int64) Method

定義

指定された Windows ファイル時刻を同等の現地時刻に変換します。Converts the specified Windows file time to an equivalent local time.

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

パラメーター

fileTime
Int64 Int64 Int64 Int64

タイマー刻み単位で表した Windows ファイル時刻。A Windows file time expressed in ticks.

戻り値

fileTime パラメーターによって表された日時に相当する現地時刻を表すオブジェクト。An object that represents the local time equivalent of the date and time represented by the fileTime parameter.

例外

fileTime が 0 未満か、MaxValue を超える時刻を表しています。fileTime is less than 0 or represents a time greater than MaxValue.

メソッドのFromFileTime例を次に示します。The following example demonstrates the FromFileTime method.

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 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

注釈

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.

パラメーター fileTimeは、100ナノ秒単位で表されるファイル時刻を指定します。The fileTime parameter specifies a file time expressed in 100-nanosecond ticks.

.NET Framework バージョン2.0 以降の戻り値は、 DateTime KindプロパティがDateTimeKind.Localであるです。Starting with the .NET Framework version 2.0, the return value is a DateTime whose Kind property is DateTimeKind.Local.

注意 (呼び出し元)

通常、メソッド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日の太平洋標準時ゾーン (午前15時)、時間が1時間経過したとき、午前3時3:00For 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]

適用対象

こちらもご覧ください