博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC日期格式化,后台使用Newtonsoft.Json序列化日期,前端使用”f”格式化日期
阅读量:6717 次
发布时间:2019-06-25

本文共 1388 字,大约阅读时间需要 4 分钟。

MVC控制器中,经常使用Newtonsoft.Json把对象序列化成json字符串传递到前端视图。当对象中有DateTime类型的属性时,前后台如何处理才能把DateTime类型转换成想要的格式呢?

 

有这样的一个类具有DateTime类型属性:

using System;
 
namespace MvcApplication1.Models
{
public class Sample
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime Date { get; set; }
}
}

 

控制器中使用Newtonsoft.Json把对象实例序列化成json字符串:

using System.Web.Mvc;
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();
}
 
}
}
 

前台视图使用一个叫"f"的js文件,把json中的日期格式转换成期望的样子:

@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}

@ViewData["json"]

 

转换后的时间格式为:

 
@section scripts
{
$(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"));
});
 
}
 

结果:

 

参考资料:

关于"f" 的js文件:
关于Newtonsoft.Json:

转载地址:http://pekmo.baihongyu.com/

你可能感兴趣的文章
python接口自动化10-token登录
查看>>
MYSQL中约束及修改数据表
查看>>
EntityFramework Core Raw Query再叙注意事项后续
查看>>
初识gd库
查看>>
shell下office、html、pdf文档互转方法
查看>>
Shell编程基础篇-下
查看>>
OpenShift中的持续交付
查看>>
以操作系统的角度述说线程与进程
查看>>
STL - 容器 - Map(一)
查看>>
python 回溯法 子集树模板 系列 —— 5、取物搭配问题
查看>>
1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)
查看>>
多表外连接的使用
查看>>
ORACLE rman备份之ORA-19809 ORA-19804
查看>>
《夜班医生》观后感
查看>>
SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
查看>>
[20170315]简单探究dg的mrp进程.txt
查看>>
JQuery+CSS3实现封装弹出登录框效果
查看>>
在Visual Studio 2017中找不到.NET Framework 4.6.2
查看>>
谈长耗时任务的优化
查看>>
rpc框架之 avro 学习 2 - 高效的序列化
查看>>