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

结果:

参考资料:
关于"f" 的js文件:http://fisforformat.sourceforge.net/
关于Newtonsoft.Json:http://james.newtonking.com/json/help/index.html?topic=html/DatesInJSON.htm

MVC日期格式化,后台使用Newtonsoft.Json序列化日期,前端使用”f”格式化日期相关推荐

  1. MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式

    MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式 2015-01-18 00:11 https://www.muhanxue.com/essa ...

  2. [C#][Newtonsoft.Json] Newtonsoft.Json 序列化时的一些其它用法

    Newtonsoft.Json 序列化时的一些其它用法 在进行序列化时我们一般会选择使用匿名类型 new { },或者添加一个新类(包含想输出的所有字段).但不可避免的会出现以下情形:如属性值隐藏(敏 ...

  3. .NET MVC第九章、Web Api Json序列化与反序列化

    .NET MVC第九章.Web Api Json序列化与反序列化 目录 .NET MVC第九章.Web Api Json序列化与反序列化 json数据格式 JSON 语法 返回对象 Json序列化 反 ...

  4. Newtonsoft.Json序列化库

    Unity自己的Json序列化是不支持字典格式的,而且功能比较单一,这里介绍一个.Net中开源的Json序列化和反序列化库和基本用法以及常用的数据处理方法(github地址:https://githu ...

  5. C# newtonsoft.json 序列化实体进行驼峰命名(第一个首字母小写)

    #使用newtonsoft.json来设置格式化 var Model = new UserIModel { UserName = "xiaoming", UserId = '1' ...

  6. Newtonsoft.Json 序列化和反序列化 以及时间格式 2

    一.JSON使用JsonPropertyAttribute重命名属性名 1.先创建一个Movie对象,然后在其属性上添加JsonProperty,并指定重命名的名称.注意:属性Name和Directo ...

  7. 使用 Newtonsoft.Json; 序列化正常,反序列化异常的一点思考

    序列化后的字符串都正常,信息完整,但是反序列化却出现了异常. 1. 首先是不能反序列化. 我猜测是我要序列化的类 写的有问题. 我的类实例化的时候,需要向构造函数里传一个数组参数,然后用该数组参数为类 ...

  8. C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置

    Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings(); JsonC ...

  9. ASP.NET Core 3.1系列(30)——Newtonsoft.Json实现JSON的序列化和反序列化

    1.前言 在早期版本的ASP.NET Core项目中,Newtonsoft.Json的使用率非常高.虽然微软当前主推System.Text.Json来处理JSON的序列化和反序列化,但Newtonso ...

最新文章

  1. Linux定时器使用
  2. customplot设置单个点的颜色_CAD教程,CAD大神总结CAD快捷键及一些参数设置大集合,码走...
  3. HTML学习笔记06-连接
  4. I/O的一些简单操作
  5. Ubuntu14.04快速搭建SVN服务器及日常使用
  6. 老年人手里有多少积蓄,该不该告诉子女?
  7. HYSPLIT模式简介及使用
  8. 【python】使用jieba分词并导出txt
  9. 文旅展演专业委员会成功换届,为文旅展演导入新活力
  10. java手机 最新版本_JAVA手机模拟器安卓版
  11. 物料移动类型和后勤自动科目设置-转
  12. CH Dream(侠客行)
  13. 苹果iPhone14系列在国内供应链厂商有哪些?
  14. [论文笔记|LIC-Fusion]LIC-Fusion: LiDAR-Inertial-Camera Odometry
  15. 解决 git 文件夹不显示绿色图标和红色图标的问题
  16. android:使用small一步步实现插件化与热更新
  17. 什么是BS 架构(一)
  18. 宫廷计获取服务器配置信息出错,宫廷计手游宫廷会试全题目答案汇总 宫廷会试题及答案...
  19. 建设工程法规专科【6】
  20. YOLOv5s.yaml文件解读

热门文章

  1. 主网已经上线的币有哪些_什么是主网币圈主网上线意味着什么?
  2. 编写程序,随机产生20个0到1之间的数,将这20个数写入文本文件中,要求每行5个数
  3. postgresql兴建用户_PostgreSQL 12.2, 11.7, 10.12, 9.6.17, 9.5.21, 和 9.
  4. 数据结构课上笔记11
  5. Elasticsearch集群节点配置详解
  6. 算法入门篇四 桶排序
  7. 王道考研 计算机网络4 速率相关的性能指标
  8. 三十功名尘与土——资深程序员生涯自白
  9. 大公司体制内创新的困境
  10. 版本控制:集中式(SVN) vs 分布式(GIT)