MVC日期格式化,后台使用Newtonsoft.Json序列化日期,前端使用”f”格式化日期
2014-04-03 01:04
489 查看
MVC控制器中,经常使用Newtonsoft.Json把对象序列化成json字符串传递到前端视图。当对象中有DateTime类型的属性时,前后台如何处理才能把DateTime类型转换成想要的格式呢?
有这样的一个类具有DateTime类型属性:
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
控制器中使用Newtonsoft.Json把对象实例序列化成json字符串:
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
前台视图使用一个叫"f"的js文件,把json中的日期格式转换成期望的样子:
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
结果:
参考资料:
关于"f" 的js文件:http://fisforformat.sourceforge.net/
关于Newtonsoft.Json:http://james.newtonking.com/json/help/index.html?topic=html/DatesInJSON.htm
有这样的一个类具有DateTime类型属性:
using System;
[code]
namespace MvcApplication1.Models
{
public class Sample
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime Date { get; set; }
}
}
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
控制器中使用Newtonsoft.Json把对象实例序列化成json字符串:
using System.Web.Mvc;
[code]using MvcApplication1.Models;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace MvcApplication1.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
var sample = new Sample()
{
Id = 1,
Name = "good",
Date = DateTime.Now
};
JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings
{
DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
DateTimeZoneHandling = DateTimeZoneHandling.Utc
};
ViewData["json"] = Newtonsoft.Json.JsonConvert.SerializeObject(sample, microsoftDateFormatSettings);
return View();
}
}
}
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
前台视图使用一个叫"f"的js文件,把json中的日期格式转换成期望的样子:
@{
[code] ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<p>
<span id="jsonDate">@ViewData["json"]</span>
</p>
<p>
转换后的时间格式为:<span id="fDate"></span>
</p>
@section scripts
{
<script src="~/Scripts/date.f-0.5.0.js"></script>
<script type="text/javascript">
$(function () {
var obj = $.parseJSON($('#jsonDate').text());
//$('#fDate').text(new Date(parseInt(obj.Date.substr(6))).f("yyyy-MM-dd HH:mm:ss"));
$('#fDate').text(new Date(parseInt(obj.Date.substr(6))).f("yyyy-MM-dd"));
});
</script>
}
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
结果:
参考资料:
关于"f" 的js文件:http://fisforformat.sourceforge.net/
关于Newtonsoft.Json:http://james.newtonking.com/json/help/index.html?topic=html/DatesInJSON.htm
相关文章推荐
- 使用Newtonsoft.json 解决 Asp.Net MVC DateTime类型数据Json格式化问题
- mvc使用Newtonsoft.Json反序列化json数据
- 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具
- mvc 使用Newtonsoft.Json进行序列化json数据
- MVC使用Newtonsoft无需实体类,实现JSON数据返回给前端页面使用
- MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式。
- mvc 使用Newtonsoft.Json进行序列化json数据
- ASP.NET:使用Newtonsoft.Json序列化和反序列化JSON对象的例子
- JSON使用DateTimeZoneHandling序列化时时区与日期
- Newtonsoft.Json高级用法 1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的字段名称
- 通过自定义MVC的Controller的Json转换器解决日期序列化格式问题
- unity使用Newtonsoft.json反序列化json ,读取你想要的信息
- 后台返回json格式数据日期格式化
- C# MD5加密的方法+一般处理程序使用Session+后台Json序列化
- 使用Newtonsoft.Json序列化和反序列化对象(源码)
- 【前端】格式化Json传递的日期
- C# 使用Newtonsoft.Json序列化自定义类型
- 使用 Newtonsoft.Json 序列化 WPF 的 DependencyObject
- Json.Net 使用属性定义日期的序列化格式
- Newtonsoft.Json序列化 对时间格式化处理