Javaにおけるシステム時間とC#DateTimeオブジェクト間の変換方法

413 ワード

最近のプロジェクトでは、Javaで生成されたJson文字列を.NET環境で解析して使用する必要があります.Javaで返されるデータは、時間オブジェクトに存在します. System.currentTimeMillis()がシステムから読み込んだ時間.
Javaでは、現在の1970-1-1までのミリ秒数を計算します.一方、C#は0001-1-1から始まるので、偏差量が1つ存在する.
取得時間にこの偏差を加えればよい.
DateTime UTCBaseTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime dt = UTCBaseTime.Add(new TimeSpan(JavaMS * TimeSpan.TicksPerMillisecond)).ToLocalTime();