如何將Java與C#時(shí)間進(jìn)行互相轉(zhuǎn)換
JAVA中的日期計(jì)算方法
JAVA統(tǒng)計(jì)從1970年1月1日起的毫秒的數(shù)量表示日期。也就是說,例如,1970年1月2日,是在1月1日 后的86,400,000毫秒。同樣的,1969年12月31日是在1970年1月1日前86,400,000毫秒。Java的Date類使用long類 型紀(jì)錄這些毫秒值.因?yàn)閘ong是有符號(hào)整數(shù),所以日期可以在1970年1月1日之前,也可以在這之后。Long類型表示的最大正值和最大負(fù)值可以輕松的 表示290,000,000年的時(shí)間,這適合大多數(shù)人的時(shí)間要求。
Java中可以用System.currentTimeMillis() 獲取當(dāng)前時(shí)間的long形式,它的標(biāo)示形式是從1970年1月1日起的到當(dāng)前的毫秒的數(shù)。
C#中的日期計(jì)算方法
C# 日期型數(shù)據(jù)的長(zhǎng)整型值是自 0001 年 1 月 1 日午夜 12:00,以來所經(jīng)過時(shí)間以100 毫微秒為間隔表示時(shí)的數(shù)字。這個(gè)數(shù)在 C# 的 DateTime 中被稱為Ticks(刻度)。DateTime 類型有一個(gè)名為 Ticks 的長(zhǎng)整型只讀屬性,就保存著這個(gè)值。
將Java的長(zhǎng)整型時(shí)間轉(zhuǎn)化為C#時(shí)間:
需要注意的是因?yàn)槲覀冊(cè)跂|八區(qū)且我們使用的是System.DateTime.Now,所以需要在最后增加8個(gè)小時(shí)。
long time_JAVA_Long = 1207969641193;//java長(zhǎng)整型日期,毫秒為單位 DateTime dt_1970 = new DateTime(1970, 1, 1, 0, 0, 0); long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度 long time_tricks = tricks_1970 + time_JAVA_Long * 10000;//日志日期刻度 DateTime dt = new DateTime(time_tricks).AddHours(8);//轉(zhuǎn)化為DateTime
下面的這段源碼使用了System.DateTime.UtcNow更簡(jiǎn)單
TimeSpan ts=new TimeSpan( System.DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks); (long)ts.TotalMilliseconds;
C# 時(shí)間轉(zhuǎn) Java時(shí)間
/// 日期轉(zhuǎn)換
public java.util.Date DateConvert(DateTime date){
DateTime nTime = date.AddHours(-8);
long ctime = nTime.Ticks;
long c1970 = new DateTime(1970,1,1).Ticks;
long java_ticks = (ctime - c1970)/10000;
java.util.Date jDate = new java.util.Date(java_ticks);
return jDate;
}更多關(guān)于Java與C#日期時(shí)間介紹請(qǐng)點(diǎn)擊下面的相關(guān)鏈接
- C#日期格式字符串的相互轉(zhuǎn)換操作實(shí)例分析
- C#日期格式強(qiáng)制轉(zhuǎn)換方法(推薦)
- C#日期控件datetimepicker保存空值的三種方法
- C#日期格式化的幾個(gè)要點(diǎn)小結(jié)
- Java日期相關(guān)API的基本操作總結(jié)
- java實(shí)現(xiàn)在原有日期時(shí)間上加幾個(gè)月或幾天
- Java檢查日期字符串是否合法的方法總結(jié)
- Java?Date(日期)對(duì)象進(jìn)行格式化的思路詳解
- java日期時(shí)間格式化@JsonFormat與@DateTimeFormat的使用
- Java如何利用LocalDate獲取某個(gè)月的第一天與最后一天日期
相關(guān)文章
SpringBoot操作MaxComputer方式(保姆級(jí)教程)
這篇文章主要介紹了SpringBoot操作MaxComputer方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
Java開發(fā)實(shí)現(xiàn)人機(jī)猜拳游戲
這篇文章主要為大家詳細(xì)介紹了Java開發(fā)實(shí)現(xiàn)人機(jī)猜拳游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08
深入解析JVM對(duì)dll文件和對(duì)類的裝載過程
這篇文章主要介紹了JVM對(duì)dll文件的裝載和對(duì)類的裝載過程,針對(duì)Java在Windows下的一些運(yùn)行情況作出講解,需要的朋友可以參考下2015-11-11
基于java實(shí)現(xiàn)websocket代碼示例
這篇文章主要介紹了基于java實(shí)現(xiàn)websocket代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
Java運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)
Java運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)...2006-12-12
詳解java.lang.reflect.Modifier.isInterface()方法
這篇文章主要介紹了詳解java.lang.reflect.Modifier.isInterface()方法的相關(guān)資料,這里提供實(shí)例幫助大家理解這個(gè)方法的使用,需要的朋友可以參考下2017-09-09

