时间日期格式转换的简单实例,时间日期格式转换

通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象,用var date = eval(‘new ‘ + eval(‘/Date(1335258540000)/’).source),eval(‘new ‘ + eval(‘/Date(1335258540000)/’).source),通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象

下午在搞MVC和EXTJS的日期格式互相转换遇到了问题,我们从.NET服务器端序列化一个DateTime对象的结果是一个字符串格式,如 ‘/Date(1335258540000)/’
这样的字串。

时间日期格式转换的简单实例,时间日期格式转换。下午在搞MVC和EXTJS的日期格式互相转换遇到了问题,我们从.NET服务器端序列化一个DateTime对象的结果是一个字符串格式,如
‘/Date(1335258540000)/’
这样的字串。

时间日期格式转换的简单实例,时间日期格式转换。整数1335258540000实际上是一个1970 年 1 月 1 日
00:00:00至这个DateTime中间间隔的毫秒数。通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象,如下

  整数1335258540000实际上是一个1970 年 1 月 1 日
00:00:00至这个DateTime中间间隔的毫秒数。通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象,如下

时间日期格式转换的简单实例,时间日期格式转换。用var date = eval(‘new ‘ + eval(‘/Date(1335258540000)/’).source)
这样即可得到一个JS对象

时间日期格式转换的简单实例,时间日期格式转换。时间日期格式转换的简单实例,时间日期格式转换。用var date = 时间日期格式转换的简单实例,时间日期格式转换。时间日期格式转换的简单实例,时间日期格式转换。eval(‘new ‘ + eval(‘/Date(1335258540000)/’).source)
这样即可得到一个JS对象

通过alert(date)查看比较清楚。

通过alert(date)查看比较清楚。

Tue Apr 24 17:09:00 UTC+0800
2012
时间日期格式转换的简单实例,时间日期格式转换。

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

上面是C#时间日期格式转换的简单实例,时间日期格式转换。时间日期格式转换的简单实例,时间日期格式转换。
JSON序列化日期自动得到的字符串,也可以通过C#时间日期格式转换的简单实例,时间日期格式转换。写一个函数来获取这个数字,例如

时间日期格式转换的简单实例,时间日期格式转换。上面是C#
JSON序列化日期自动得到的字符串,也可以通过C#写一个函数来获取这个数字,例如

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;
    } 

?

通过上面的函数跟利用JSON序列化获取到的字符串中的整数是一样的。

1
2
3
4
5
6
7
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;
        }

但是,在从客户端返回服务器端的时候,日期却遇到了问题,如何将javascript的Date对象传回服务器端呢?

通过上面的函数跟利用JSON序列化获取到的字符串中的整数是一样的。

先通过javascript
Date中的getTime()来获取到这个整数,然后服务器端对这个整数进行解析,‘构造’成一个C#的DateTime对象。思路大概是这样的,不过在逆向回去的时候却遇到了点麻烦。

但是,在从客户端返回服务器端的时候,日期却遇到了问题,如何将javascript的Date对象传回服务器端呢?

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

先通过javascript
Date中的getTime()来获取到这个整数,然后服务器端对这个整数进行解析,‘构造’成一个C#的DateTime对象。思路大概是这样的,不过在逆向回去的时候却遇到了点麻烦。

通过ConvertTime得到的结果发现时间少了8个小时,这刚好是服务器的时区,东八区时间,也就是说还要加上8小时的纳秒,因为C#的时间戳单位是一千万分之一秒,一个小时3600秒,即8*3600*10000000

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

所以修改了ConvertTime函数,正确的如下:

通过ConvertTime得到的结果发现时间少了8个小时,这刚好是服务器的时区,东八区时间,也就是说还要加上8小时的纳秒,因为C#的时间戳单位是一千万分之一秒,一个小时3600秒,即8*3600*10000000

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);
    }

所以修改了ConvertTime函数,正确的如下:

以上这篇js和C#
时间日期格式转换的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

图片 1😉

您可能感兴趣的文章:

  • js与C#进行时间戳转换
  • js
    时间格式与时间戳的相互转换示例代码
  • C#中系统时间和UNIX时间戳互相转换
  • js获取时间并实现字符串和时间戳之间的转换
  • javascript时间戳和日期字符串相互转换代码(超简单)
  • JS获取时间的相关函数及时间戳与时间日期之间的转换
  • JavaScript日期时间与时间戳的转换函数分享
  • js时间戳和c#时间戳互转方法(推荐)
1 public DateTime ConvertTime(long milliTime)
2         {
3             long timeTricks = new DateTime(1970, 1, 1).Ticks + milliTime * 10000 + TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours * 3600 * (long)10000000;
4             return new DateTime(timeTricks);
5         }

图片 2😉