この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

DateTime.FromFileTime メソッド (Int64)

 

公開日: 2016年11月

指定された Windows ファイル時刻を同等の現地時刻に変換します。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

public static DateTime FromFileTime(
	long fileTime
)

パラメーター

fileTime
Type: System.Int64

タイマー刻み単位で表した Windows ファイル時刻。

戻り値

Type: System.DateTime

fileTime パラメーターによって表された日時に相当する現地時刻を表すオブジェクト。

Exception Condition
ArgumentOutOfRangeException

fileTime が 0 未満か、DateTime.MaxValue を超える時刻を表しています。

Windows ファイル時刻は、西暦 1601 年 1 月 1 日深夜 12時 00分以降の経過時間を 100 ナノ秒間隔の数を表す 64 ビット値(西暦)世界協定時刻 (UTC)。 Windows では、アプリケーションの作成、アクセスすると、またはファイルに書き込むときを記録するファイルの時刻を使用します。

fileTime 100 ナノ秒タイマー刻み単位で表したファイルの時刻を指定します。

以降、.NET Framework version 2.0 では、戻り値は、DateTimeKindプロパティはDateTimeKind.Localします。

呼び出し時の注意:

通常、FromFileTimeメソッド復元、DateTimeによって保存された値、ToFileTimeメソッドです。 ただし、2 つの値は、次の条件下で異なる場合があります。

  • 場合、シリアル化と逆シリアル化、DateTime値が異なるタイム ゾーンで発生します。 たとえば場合、DateTime米国で午後 12 時 30 分の時間の値米国東部標準時がシリアル化され、米国でし、逆シリアル化太平洋標準時ゾーン、午後 12 時 30 分の元の値は、次の 2 つのタイム ゾーンの違いを反映するように午前 9 時 30 分に調整されます。

  • 場合、DateTimeシリアル化される値は、ローカル タイム ゾーンで無効な時刻を表します。 ここで、ToFileTimeメソッドは、調整、復元されたDateTimeをローカル タイム ゾーンで有効な時刻を表すように値します。

    たとえば、米国で標準時から夏時間への移行が発生します太平洋標準時ゾーン、2010 年 3 月 14 日、午前 2時 00分に時間が進み午前 3 時に、1 時間この間隔の時間は、このタイム ゾーンに存在しません、時間間隔は、無効な時刻です。 次の例は、時間内にあるを場合はこの範囲は、長整数値に変換を示しています、ToFileTimeメソッドによってを復元し、FromFileTimeメソッド、元の値を調整して、有効な時刻になります。 特定の日付と時刻の値に渡すことによっての変更される可能性がありますする可能性があるかどうかを確認することができます、TimeZoneInfo.IsInvalidTimeメソッドの例とを示しています。

    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
    

次の例で、FromFileTimeメソッドです。

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

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
1.1 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: