Java では、System.currentTimeMillis() を使用して現在時刻の長い形式を取得できます。その表記形式は、1970 年 1 月 1 日から現在時刻までのミリ秒数です。 Web サービスは Java で書かれており、この長いデータはタイムスタンプに変換されてから MySQL に保存されるため、Web サービスを呼び出すときにこの値を直接渡すことができます。
ただし、.NET での時間の計算方法は異なります。計算単位は Ticks です。ここでは C# の時間変換を行う必要があります。 Tick に関して、msdn は次のように述べています:
1 つのティックは 100 ナノ秒、または 1,000 万分の 1 秒を表します。このプロパティの値は、深夜 12:00:00 から経過した 100 ナノ秒間隔の数を表します。 January 1, 0001.
は西暦元年 1 月 1 日午前 0 時から指定時刻までの 1,000 万分の 1 秒であり、Java と比較するため、1 万分の 1 ミリ秒で表されます。
(System.DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks)/10000;
System.currentTimeMillis()と同じ結果を得たい場合Java では、上記のように記述して Java と C# の時刻変換を行うことができます。また、次のように記述することもできます:
TimeSpan ts=new TimeSpan( System.DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks); (long)ts.TotalMilliseconds;
ここでは代わりに System.DateTime.UtcNow が使用されることに注意してください。東巴区にいるので System.DateTime.Now 後者の方法を使用すると、想像していた時間と 8 時間異なることがわかります。 Java と C# の時間変換はここで完全に実現されます。
以上がJava 時間を C# 時間に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。