在工作过程中遇到时间格式的数据在C#、js 和 json保存的不同结果,现在总结一下

JavaScript Parser:

1、数字型时间转字符串时间

如var data = "/Date(1387533960820)/";

result = StrDateTo(result);

Console.Write(result);

输出:2013-12-20 09:21

code:

var data = "/Date(1387533960820)/";

var result = IntDateTo(data);

function IntDateTo(data) {

var date = new Date(parseInt(data.replace("/Date(", "").replace(")/", ""), 10));

var result = date.getFullYear() + "-" + (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) + "-" + (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " " + (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":" + (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes());

return result;
}

var obj = eval('(' + '{Date:"2010-07-12T03:05:21Z"}' + ')');
alert(obj);
scanDate(obj, isoDateParser);
var dateValue = obj["Date"];
alert(dateValue);
function scanDate(obj, dateParser) {
for (var key in obj) {
obj[key] = dateParser(key, obj[key]);
if (typeof (obj[key]) === 'object') {
scanDate(obj[key], dateParser);
}
}
}
function isoDateParser(key, value) {
if (typeof value === 'string') {
var a = (/ ^ \ d {4} - \ d { 2} - \e{2} \e{2}:\e{2}:\e{2} $ /).exec(value);
var a = (/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)?$/).exec(value);
if (a) {
var utcMilliseconds = Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6]);
return new Date(utcMilliseconds);
}
}
return value;
}

C# Parser:

long time = MilliTimeStamp(DateTime.Now);

DateTime Time = ConvertTime(time);

console.write(time )

结果为:1387547586984

console.write(Time)

结果为一个DateTime时间对象:{2013-12-20 13:53:06}

public long MilliTimeStamp(DateTime TheDate)
{//转为数字型时间
DateTime d1 = new DateTime(1970, 1, 1).ToUniversalTime();
DateTime d2 = TheDate.ToUniversalTime();

TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
return (long)ts.TotalMilliseconds;
}

public DateTime ConvertTime(long milliTime)
{//转为时间对象
long timeTricks = new DateTime(1970, 1, 1).Ticks + milliTime * 10000;
return new DateTime(timeTricks);

}

资料来源于博客园

1、http://www.cnblogs.com/dragonstreak_1/archive/2011/09/04/2165942.html

C#、js、json Datetime格式总结的更多相关文章

  1. ASP.NET Core 返回 Json DateTime 格式

    ASP.NET Core 返回 Json 格式的时候,如果返回数据中有DateTime类型,如何自定义其格式呢?配置如下: services.AddMvc().AddJsonOptions(opt = ...

  2. js json日期格式转换日期方法

      接收json数据,日期格式为:"\/Date(1414078309687)\/" var value = "/Date(1414078309687)/"; ...

  3. JS jQuery json日期格式问题的办法

    原生JS:Date对象详细参考 Date对象:基于1970年1月1日(世界标准时间)起的毫秒数 本文参考MDN做的详细整理,方便大家参考MDN 构造函数: new Date(); 依据系统设置的当前时 ...

  4. JS对象与json字符串格式

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  5. 字定义JSON序列化支持datetime格式序列化

    字定义JSON序列化支持datetime格式序列化 由于json.dumps无法处理datetime日期,所以可以通过自定义处理器来做扩展,如: import json from datetime i ...

  6. java js ur特殊格式处理 json 特殊格式处理

    url特殊格式处理: js中使用 encodeURIComponent() 编码对应的value $.ajax({ type: "post", url: "/tb_are ...

  7. SpringMVC 设置全局DateTime json返回格式

    对于部分返回DateTime的项目,只需要在指定属性上添加@JsonSerialize 使用自定义的json转换格式即可自定义返回DateTime格式 但是对于项目中返回有多个DateTime字段来说 ...

  8. 4种解决json日期格式问题的办法

    4种解决json日期格式问题的办法   开发中有时候需要从服务器端返回json格式的数据,在后台代码中如果有DateTime类型的数据使用系统自带的工具类序列化后将得到一个很长的数字表示日期数据,如下 ...

  9. JavaScriptSerializer 序列化json 时间格式

    利用JavaScriptSerializer 序列化json 时间格式,得到的DateTime值值显示为“/Date(700000+0500)/”形式的JSON字符串,显然要进行转换 1.利用字符串直 ...

随机推荐

  1. [css3]水平垂直居中

    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);

  2. JavaScript与java的异同(一)

    讲个故事:话说很久很久以前,有一个叫网景(Netscape)的,十月怀胎,他生了个儿子,很开兴,给儿子取名livescript.Livescript很勤奋,帮大叔大婶干了好多活,也给他爸赚了很多钱.突 ...

  3. toolsqa-IMPORTANCE

    http://toolsqa.com/cucumber/cucumber-options/

  4. 用Pyinstaller打包发布exe应用 (转)经测可用

    安装Pyinstaller   1 按照习惯,我们使用pip来安装模块.我们一直以来强调,要用最偷懒的方法.写代码的人尤其如此.人生苦短,你要偷懒~   0Python | 如何用pip安装模块和包 ...

  5. linux系统中查看系统位数(转载)

    查看系统多少位网上很多种说话   ### getconf WORD_BIT 错误的 这3个是对的        getconf LONG_BIT    echo $HOSTTYPE uname -a  ...

  6. PowerDesigner从Physical Data Model转Excel

    参考资料:http://www.cnblogs.com/hggc/archive/2013/10/15/3369857.html 由于有把ER图转Excel的需求,幸运地找到一个可用脚本,稍做修改完成 ...

  7. C# UdpClient使用Receive和BeginReceive接收消息时的不同写法

    使用Receive(同步阻塞方式), 注意使用同步方法时,需要使用线程来开始方法,不然会使UI界面卡死 IPEndPoint RemoteIpEndPoint = ); UdpClient udpCl ...

  8. No module named * 但是已经安装了找不到解决办法

    错误现象,把\Lib\site-packages下的安装包挪动位置到新的位置后(多个Python.exe运行位置)引起这类错误 No module named * 但是已经安装了 解决过程,先试图卸载 ...

  9. js页面跳转的方式

    js方式的页面跳转1.window.location.href方式    <script language="javascript" type="text/java ...

  10. DotNetBar for Windows Forms 11.8.0.8冰河之刃重打包版

    关于 DotNetBar for Windows Forms 11.8.0.8_冰河之刃重打包版 基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DL ...