亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

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

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

上面是C# JSON序列化日期自動得到的字符串,也可以通過C#寫一個函數(shù)來獲取這個數(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;
    } 

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

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

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

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

通過ConvertTime得到的結(jié)果發(fā)現(xiàn)時間少了8個小時,這剛好是服務(wù)器的時區(qū),東八區(qū)時間,也就是說還要加上8小時的納秒,因為C#的時間戳單位是一千萬分之一秒,一個小時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# 時間日期格式轉(zhuǎn)換的簡單實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • WordPress中鼠標懸停顯示和隱藏評論及引用按鈕的實現(xiàn)

    WordPress中鼠標懸停顯示和隱藏評論及引用按鈕的實現(xiàn)

    這篇文章主要介紹了WordPress中鼠標懸停顯示和隱藏評論及引用按鈕的實現(xiàn),順帶顯示和隱藏評論者信息的實現(xiàn)方法,非常實用,需要的朋友可以參考下
    2016-01-01
  • JavaScript之instanceof方法手寫示例詳解

    JavaScript之instanceof方法手寫示例詳解

    這篇文章主要為大家介紹了JavaScript之instanceof方法手寫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • javascript控制臺詳解

    javascript控制臺詳解

    本文是寫在2011年,主要介紹 “Firefox” 瀏覽器插件 “Firebug” 的操作,如今主流瀏覽器對控制臺都已經(jīng)提供了很好的支持。我自己用的最多是谷歌的 “chrome” 瀏覽器,下面也用 “chrome” 瀏覽器來調(diào)試。
    2015-06-06
  • layui select 禁止點擊的實現(xiàn)方法

    layui select 禁止點擊的實現(xiàn)方法

    今天小編就為大家分享一篇layui select 禁止點擊的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 微信小程序整個頁面的自動適應(yīng)布局的實現(xiàn)

    微信小程序整個頁面的自動適應(yīng)布局的實現(xiàn)

    這篇文章主要介紹了微信小程序整個頁面的自動適應(yīng)布局的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-07-07
  • Typescript中extends關(guān)鍵字的基本使用

    Typescript中extends關(guān)鍵字的基本使用

    extends表示具體的泛型類型只能是object類型,某個變量如果能斷言成object類型[變量as object],那么這個變量的類型符合T extends object,下面這篇文章主要給大家介紹了關(guān)于Typescript中extends關(guān)鍵字基本使用的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • TinyMCE提交AjaxForm獲取不到數(shù)據(jù)的解決方法

    TinyMCE提交AjaxForm獲取不到數(shù)據(jù)的解決方法

    這篇文章主要介紹了TinyMCE提交AjaxForm獲取不到數(shù)據(jù)的解決方法,實例分析了對應(yīng)的源碼部分與相應(yīng)的解決方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • js中常見切割截取字符串的幾種方法小結(jié)

    js中常見切割截取字符串的幾種方法小結(jié)

    前端開發(fā)中,字符串處理是比較常見的,下面這篇文章主要給大家介紹了關(guān)于js中常見切割截取字符串的幾種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • JS對象數(shù)組去重的3種方法示例及對比

    JS對象數(shù)組去重的3種方法示例及對比

    這篇文章主要給大家介紹了關(guān)于JS對象數(shù)組去重的3種方法,三種方法分別包括使用filter和Map、使用reduce以及for循環(huán),文中每個方法都給出了示例代碼,需要的朋友可以參考下
    2021-07-07
  • Javascript Worker子線程代碼實例

    Javascript Worker子線程代碼實例

    這篇文章主要介紹了Javascript Worker子線程代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2020-02-02

最新評論