web-dev-qa-db-ja.com

長いタイプの日時を正しいタイムゾーンで日時に変換する方法

例えば ​​1297380023295は2010/2/11である必要があります9 AM今すぐこのコードを使用します

        long dateNumber = num;
        long beginTicks = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks;
        DateTime dateValue = new DateTime(beginTicks + dateNumber * 10000);

        return dateValue;

この関数の結果は午前1時、GMTです。私はそれで何ができますか?

24
Shisoft

ToLocalTime()メソッドを探しています:

long unixDate = 1297380023295;
DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime date= start.AddMilliseconds(unixDate).ToLocalTime();
49
SLaks
long a= 634792557112051692;
//a= ticks time
  DateTime dt = new DateTime(a);
   Response.Write(dt.Hour.ToString());


//dt.hour convert time ticks to time hour
5
alireza

新しいDateTimeオブジェクトを作成するときにDateTimeKindを指定できるため、UTCとして指定し、.ToLocalTimeを使用してローカル時間に変換できます。

        long dateNumber = 1297380023295;
        long beginTicks = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks;

        DateTime dt = new DateTime(beginTicks + dateNumber * 10000, DateTimeKind.Utc);
        MessageBox.Show(dt.ToLocalTime().ToString());
4
John Koerner

Powershellスクリプトピース、参考までに

$minDate = New-Object "System.DateTime"
$minDate = $minDate.AddYears(1969)
$minDate.AddMilliseconds(1446616420947)
0
Cooper.Wu