Java 和 Javascript 的 Date 對象內(nèi)部存放的是從1970年1月1日0點(diǎn)以來的毫秒值。
.Net 的 DateTime 對象內(nèi)部存放的是從0001年1月1日12點(diǎn)以來的tick值,1ticks=100納秒=0.1微秒。
因此,我們可以借助1970年1月1日0點(diǎn)這個(gè)特殊的時(shí)刻來對二者進(jìn)行換算,代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
using System; namespace Extends { public static class DateTimeEx { #region DateTime Extends private static DateTime dt = new DateTime(, , , , , , DateTimeKind.Utc); public static long ToJsTime( this DateTime dt) { return ( long )(TimeZone.CurrentTimeZone.ToUniversalTime(dt) - dt).TotalMilliseconds; } public static DateTime FromJsTime( this DateTime dt, long jstime) { return TimeZone.CurrentTimeZone.ToLocalTime(dt.AddMilliseconds(jstime)); } #endregion } } |
這是一個(gè)DateTime的擴(kuò)展類,為DateTime對象增加了ToJsTime和FromJsTime兩個(gè)方法。
其中通過TimeZone對象來實(shí)現(xiàn)時(shí)區(qū)轉(zhuǎn)換。
以上所述是小編給大家介紹的Java 和 Javascript 的 Date 與 .Net 的 DateTime 之間的相互轉(zhuǎn)換的相關(guān)知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!