MVC中的时间js格式化
记录下我遇到的一个,MVC中post请求返回一个JSON字符串,其中包含数据库中的时间格式(如:/Date(10000000000)/),不知道怎么处理。
百度的方法都不适用,经自己研究,做成了一个Jquery插件,希望对大家有所帮助。
插件源代码:
(function ($) {
/格式化JSON返回的日期类型为自己定义的格式:如:yyyy-MM-dd hh:mm:ss
dtstr:JSON返回的日期"/Date(10000000000)/"
* fmt:自定义的格式,如:yyyy-MM-dd hh:mm:ss
/
$.Format = function (dtstr,fmt) {
var date = $.ToDateTime(dtstr);
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"H+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
/
格式化JSON返回日期类型LONG转日期
dtstr:JSON返回日期“/Date(10000000000)/”
/
$.ToDateTime = function (dtstr) {
//1900-01-01T00:00:00
if ((dtstr + '').indexOf('Date(') >= 0) {
var ldate = +(dtstr + '').replace('/Date(', '').replace(')/', '');
if (ldate > 0) { return new Date(ldate); }
}
else {
var str = (dtstr + '').replace(/-/g, "/").replace(/T/g, " ");
if (str.split('.')[0] == '1900/01/01 00:00:00') {
return null;
}
else if ((dtstr + '').length > 0) {
return new Date(str.split('.')[0]);
}
}
return null;
}
/
格式化JSON返回日期类型LONG转指定格式字符串:2015-01-01 12:59:59
title:日期类型名称“发布时间”
dtstr:JSON返回日期“/Date(10000000000)/”
substrstart:字符串开始截断位置“5”
/
$.ToDateTimeString = function (title, dtstr, substrstart) {
var dt = toDateTime(dtstr);
if (dt) {
var y = dt.getFullYear();
var m = dt.getMonth() + 1;
var d = dt.getDate();
var h = dt.getHours();
var i = dt.getHours();
var s = dt.getHours();
var datestr = y + "-" + (m < 10 ? "0" : "") + m + "-" + (dt.getDate() < 10 ? "0" : "") + dt.getDate() + " " + (dt.getHours() < 10 ? "0" : "") + dt.getHours() + ":" + (dt.getMinutes() < 10 ? "0" : "") + dt.getMinutes() + ":" + (dt.getSeconds() < 10 ? "0" : "") + dt.getSeconds();
return title + datestr.substr(substrstart);
}
return "";
}
/
格式化JSON返回日期类型
说明:LONG类型日期转指定格式字符串,求日期时间差,并追加至指定集合:2015-01-01 12:59:59
htmls:目标集合
title:日期类型名称“发布时间”
dtstr:JSON返回日期“/Date(10000000000)/”
dtstr01:JSON返回日期“/Date(10000000000)/”时间差结束日期1
dtstr02:JSON返回日期“/Date(10000000000)/”时间差结束日期2 如果为空 取1
substrstart:字符串开始截断位置“5”
*/
$.ToDateTimeDiffString = function (htmls, title, dtstr, dtstr01, dtstr02, substrstart) {
var dtstrs = toDateTimeString("", dtstr, substrstart);
if (dtstrs) {
var dt1 = toDateTime(dtstr);
var dt2 = toDateTime(dtstr01);
var dt3 = toDateTime(dtstr02);
if (dt3) { dt2 = dt3; }
var tstime = dt1 - dt2;
var m = Math.floor(tstime / 1000 / 60, 0);
var s = Math.ceil(tstime / 1000 % 60);
htmls.push('' + title + (m > 0 ? m + "分" : "") + (s > 0 ? s + "秒" : "") + " " + dtstrs + '');
}
}
})(jQuery);
时间格式化jquery 插件
使用方法
1.引用上面的jquery插件
2.格式化时间:
        $.post("/tigger/GetUserPrizeLog?t=" + Math.random(), { activityCode: 1138, myOpenId: "@WorkContext.WxUserInfo.OpenId" }, function (json) {
            var str = "";
            $.each(json.Body, function (i, model) {
                str += "<li>";
                str += " <p class=\"title\">" + model.ActivityPrizeName + "</p>";
                str += "<p class=\"time\">" + $.Format(model.CreateTime, "yyyy-MM-dd hh:mm") + "</p>";
                str += "<span class=\"get\" onclick=\"javascript:ShowPrize('" + model.ActivityPrizeName + "')\"></span>";
                str += "</li>";
            });
            $("#record ul").html(str);
        });
model.CreateTime 是从服务器获取的时间
使用方法:
$.Format(model.CreateTime, "yyyy-MM-dd hh:mm")
希望能对你有所帮助!^_^
MVC中的时间js格式化的更多相关文章
- ASP.NET MVC中使用Dropzone.js实现图片的批量拖拽上传
		
说在前面 最近在做一个MVC相册的网站(这里),需要批量上传照片功能,所以就在网上搜相关的插件,偶然机会发现Dropzone.js,试用了一下完全符合我的要求,而且样式挺满意的,于是就在我的项目中使用 ...
 - MVC中利用knockout.js实现动态uniqueId
		
题目比较拗口,但是这篇文章确实直说这一点. knockout.js是一个JS库,它的官网是http://knockoutjs.com/ 这篇文章的重点是knockout在工作的一个功能中的应用.最终效 ...
 - js格式化时间 js格式化时间戳
		
一个js格式化时间和js格式化时间戳的例子. 代码:/** * 时间对象的格式化; */Date.prototype.format = function(format) { /* * eg:forma ...
 - ASP.NET MVC  中单独的JS文件中获取Controller中设定的值
		
1,在Controller中的Action 中将指定值写上. // // GET: /Home/ public ActionResult Index() ...
 - 在js中对时间类型格式化字符串
		
Date.prototype.toString = function (format) { if (format == null) { format = "yyyy-MM-dd HH:mm: ...
 - java中关于时间的格式化
		
long time = System.currentTimeMillis(); SimpleDateFormat format = new SimpleDateFormat(); String s = ...
 - 在ASP.NET MVC中使用typeahead.js支持预先输入,即智能提示
		
使用typeahead.js可以实现预先输入,即智能提示,本篇在ASP.NET MVC下实现.实现效果如下: 首先是有关城市的模型. public class City { public int Id ...
 - C# MVC中直接执行Js
		
.NET MVC里如何在服务器端执行JS: 三种解决方案: 1.直接返回JavaScript. public ActionResult XXXAction1() { return JavaS ...
 - 在Asp.Net MVC 中如何用JS访问Web.Config中appSettings的值
		
应用场景: 很多时候我们要在Web.Config中添加appSettings的键值对来标识一些全局的信息,比如:调用service的domain,跳转其他网站页面的url 等等: 那么此时就涉及到了一 ...
 
随机推荐
- Web API应用架构在Winform混合框架中的应用(5)--系统级别字典和公司级别字典并存的处理方式
			
在我这个系列中,我主要以我正在开发的云会员管理系统为例进行介绍Web API的应用,由于云会员的数据设计是支持多个商家公司,而每个公司又可以包含多个店铺的,因此一些字典型的数据需要考虑这方面的不同.如 ...
 - 使用KeleyiSQLHelper类进行分页查询
			
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序. KeleyiSQLHelper类的最新代码请到http://hovertree.com/down/下载整个解决方案源代码查 ...
 - 使用MySQL WorkBench导出数据库
			
1. 在MySQL WorkBench的Server Administrator中双击要连接的数据库: 2. 点击左边的Data Export,在右边的数据库列表中选择要导出的数据库: 3. Expo ...
 - PyMySQL Evaluation
			
PyMySQL Evaluation This page will capture issues related to Openstack moving to the PyMySQL driver f ...
 - springmvc中RequestMapping的解析
			
在研究源码的时候,我们应该从最高层来看,所以我们先看这个接口的定义: package org.springframework.web.servlet; import javax.servlet.htt ...
 - springmvc(2)Controller源码简单解析
			
前面简单的分析了一下DispatcherServlet,接下来分析一下Controller,在web的MVC中,Controller就是其中的C,启动的一些页面逻辑处理,页面映射的功能: 首先看看超类 ...
 - 解析 csv文件 java ***最爱那水货
			
/** * csv文件解析 <br> * wx 微信明细数据 第1行是标题 ,最后2行 是总结 提取数据需要过滤<br> * zfb 支付宝明细数据 前4行 和最后4行是总结 ...
 - Python遍历文件夹
			
许多次需要用python来遍历目录下文件, 这一次就整理了记录在这里. 随实际工作,不定期更新. import os class FileTraversal: def __init__(self, r ...
 - BZOJ 1051 最受欢迎的牛 解题报告
			
题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4438 Solved: 2353[S ...
 - JS代码实用代码实例(输入框监听,点击显示点击其他地方消失,文件本地预览上传)
			
前段时间写前端,遇到一些模块非常有用,总结以备后用 一.input框字数监听 <!DOCTYPE html> <html lang="en"> <he ...