最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js和C# 時(shí)間日期格式轉(zhuǎn)換的簡(jiǎn)單實(shí)例

 更新時(shí)間:2016年05月28日 16:21:02   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇js和C# 時(shí)間日期格式轉(zhuǎn)換的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

下午在搞MVC和EXTJS的日期格式互相轉(zhuǎn)換遇到了問(wèn)題,我們從.NET服務(wù)器端序列化一個(gè)DateTime對(duì)象的結(jié)果是一個(gè)字符串格式,如 '/Date(1335258540000)/' 這樣的字串。

整數(shù)1335258540000實(shí)際上是一個(gè)1970 年 1 月 1 日 00:00:00至這個(gè)DateTime中間間隔的毫秒數(shù)。通過(guò)javascript用eval函數(shù)可以把這個(gè)日期字符串轉(zhuǎn)換為一個(gè)帶有時(shí)區(qū)的Date對(duì)象,如下

用var date = eval('new ' + eval('/Date(1335258540000)/').source) 這樣即可得到一個(gè)JS對(duì)象

通過(guò)alert(date)查看比較清楚。

Tue Apr 24 17:09:00 UTC+0800 2012

上面是C# JSON序列化日期自動(dòng)得到的字符串,也可以通過(guò)C#寫一個(gè)函數(shù)來(lái)獲取這個(gè)數(shù)字,例如

public long MilliTimeStamp(DateTime TheDate)
    {
      DateTime d1 = new DateTime(1970, 1, 1); 
      DateTime d2 = TheDate.ToUniversalTime();
      TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
      return (long)ts.TotalMilliseconds;
    } 

通過(guò)上面的函數(shù)跟利用JSON序列化獲取到的字符串中的整數(shù)是一樣的。

但是,在從客戶端返回服務(wù)器端的時(shí)候,日期卻遇到了問(wèn)題,如何將javascript的Date對(duì)象傳回服務(wù)器端呢?

先通過(guò)javascript Date中的getTime()來(lái)獲取到這個(gè)整數(shù),然后服務(wù)器端對(duì)這個(gè)整數(shù)進(jìn)行解析,‘構(gòu)造'成一個(gè)C#的DateTime對(duì)象。思路大概是這樣的,不過(guò)在逆向回去的時(shí)候卻遇到了點(diǎn)麻煩。

public DateTime ConvertTime(long milliTime)
    {
      long timeTricks = new DateTime(1970, 1, 1).Ticks + milliTime * 10000 ;
      return new DateTime(timeTricks);
    }

通過(guò)ConvertTime得到的結(jié)果發(fā)現(xiàn)時(shí)間少了8個(gè)小時(shí),這剛好是服務(wù)器的時(shí)區(qū),東八區(qū)時(shí)間,也就是說(shuō)還要加上8小時(shí)的納秒,因?yàn)镃#的時(shí)間戳單位是一千萬(wàn)分之一秒,一個(gè)小時(shí)3600秒,即8*3600*10000000

所以修改了ConvertTime函數(shù),正確的如下:

public DateTime ConvertTime(long milliTime)
    {
      long timeTricks = new DateTime(1970, 1, 1).Ticks + milliTime * 10000 + TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours * 3600 * (long)10000000;
      return new DateTime(timeTricks);
    }

以上這篇js和C# 時(shí)間日期格式轉(zhuǎn)換的簡(jiǎn)單實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

都匀市| 麻栗坡县| 双辽市| 兴城市| 宁河县| 仪征市| 霞浦县| 余干县| 平南县| 鱼台县| 威海市| 阜新市| 抚宁县| 蒙山县| 定远县| 同心县| 德州市| 库伦旗| 上思县| 东丰县| 浦县| 和田县| 略阳县| 高安市| 柯坪县| 临海市| 田林县| 昌平区| 兖州市| 旬邑县| 洮南市| 崇义县| 祥云县| 固镇县| 霞浦县| 岳阳县| 马关县| 太和县| 淳安县| 礼泉县| 小金县|