首頁  >  文章  >  Java  >  如何將Java與C#時間轉換

如何將Java與C#時間轉換

PHPz
PHPz轉載
2023-04-30 16:25:071539瀏覽

Java中可以用System.currentTimeMillis() 取得目前時間的long形式,它的標示形式是從1970年1月1日起的到目前的毫秒的數。 Web Service 是用Java寫的,把這個long型資料轉成timestamp再存入MySQL,所以用呼叫我們的Web Service可以直接把這個值傳入。
但是.NET下計算時間的方式不太一樣,它是計算單位是Ticks,這裡就需要做一個C#時間轉換。關於Ticks,msdn上是這樣說的:
A single tick represents one hundred nanoseconds or one ten-millionth of a second. The value of this property represents the number of 100-nanosecond intervals that have represents the numberelace 100-nanosecond intervals that have 2ps 00 midnight, January 1, 0001.
就是從公元元年元月1日午夜到指定時間的千萬分之一秒了,為了和Java比較,說成萬分之一毫秒。
( System.DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks)/10000;
如果要得到Java中System.currentTimeMillis() 一樣的結果,就可以做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中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除