溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何將Java與C#時間進(jìn)行轉(zhuǎn)換

發(fā)布時間:2022-05-17 11:21:46 來源:億速云 閱讀:387 作者:zzz 欄目:大數(shù)據(jù)

這篇文章主要講解了“如何將Java與C#時間進(jìn)行轉(zhuǎn)換”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何將Java與C#時間進(jìn)行轉(zhuǎn)換”吧!

Java中可以用System.currentTimeMillis() 獲取當(dāng)前時間的long形式,它的標(biāo)示形式是從1970年1月1日起的到當(dāng)前的毫秒的數(shù)。Web Service 是用Java寫的,把這個long型數(shù)據(jù)轉(zhuǎn)成timestamp再存入MySQL,所以用調(diào)用我們的Web Service可以直接把這個值傳入。
但是.NET下計算時間的方式不太一樣,它是計算單位是Ticks,這里就需要做一個C#時間轉(zhuǎn)換。關(guān)于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 elapsed since 12:00:00 midnight, January 1, 0001.
就是從公元元年元月1日午夜到指定時間的千萬分之一秒了,為了和Java比較,說成萬分之一毫秒。
( System.DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks)/10000;
如果要得到Java中 System.currentTimeMillis() 一樣的結(jié)果,就可以做Java與C#時間轉(zhuǎn)換,寫成上面那樣,也可以這樣寫:

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 ,因為我們在東八區(qū),如果用后面那種形式就會發(fā)現(xiàn)時間會和想象當(dāng)中的差了8個小時。Java與C#時間轉(zhuǎn)換到這里就徹底實現(xiàn)了。

感謝各位的閱讀,以上就是“如何將Java與C#時間進(jìn)行轉(zhuǎn)換”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何將Java與C#時間進(jìn)行轉(zhuǎn)換這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI