jqgrid日期时间格式化

在jqgrid中渲染后台数据时,如果不对Date格式的日期进行格式化,页面上将显示[Object Object],我们可通过如下几种方式对日期时间进行格式化,说方法前先看效果:

第一种方式:直接渲染,代码如下:

{
	name : "throwTime",
	index : "throwTime",
	label : "投放时间",
	width: 140, 
	formatter:"date",formatoptions: {srcformat:'Y-m-d H:i:s',newformat:'Y-m-d H:i:s'},
	sortable : false				
}

第二种方式:通过后台返回的value值进行渲染,在使用这个方法前我们需要知道value中存放的是什么内容,我后台返回的内容如下:

通过上图我们可以看出value中存放的都是时间的组成部分,那么就可以衍生出我们格式化13位时间戳来获取日期和时间的方法了,代码如下:

{
	name : "throwTime",
	index : "throwTime",
	label : "投放时间",
	width: 140, 
	formatter: function(value, grid, rows, state) {
        var date = new Date(value.time);
		var Y = date.getFullYear() + '-';
		var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
		var D = date.getDate() + ' ';
		var h = date.getHours() + ':';
		var m = date.getMinutes() + ':';
		var s = date.getSeconds();
		return Y + M + D + h + m + s;
	},
	sortable : false				
}

需要注意的是,我这边后台返回的时间戳(上方图片中的time字段)是13位的,如果时间戳格式为10位,需要*1000。

第三种方式:和第二种方式一样,也通过后台返回的value值进行渲染,取值year+month+date+hours+minutes+seconds,代码如下:

{
	name : "throwTime",
	index : "throwTime",
	label : "投放时间",
	width: 140, 
	formatter: function(value, grid, rows, state) {
		var Y = 1900 + value.year;
		var M = value.month + 1 < 10 ? '0' + (value.month + 1) : value.month + 1;
		var D = value.date;
		var h = value.hours;
		var m = value.minutes;
		var s = value.seconds;
		return Y + "-" + M + "-" + D + " " + h + ":" + m + ":" + s;
					
	},
	sortable : false				
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值