JavaScript中Long型时间格式转标准格式

直切主题,场景:当使用ajax请求参数时,如果服务器是Date星,那么JS中得到的时间是Long型时间戳,这种格式直接显示给用户不妥,所以需要进行格式转换,当然,方法很多。我只介绍我使用的这种方法,仅供参考。

1、我们需要扩展Date对象,增加一个自定义属性。
    Date.prototype.format = function(format) {
    	var date = {
   			"M+": this.getMonth() + 1,
  			"d+": this.getDate(),
 			"h+": this.getHours(),
			"m+": this.getMinutes(),
			"s+": this.getSeconds(),
			"q+": Math.floor((this.getMonth() + 3) / 3),
			"S+": this.getMilliseconds()
		};
        if (/(y+)/i.test(format)) {
        	format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
        }
        for (var k in date) {
        	if (new RegExp("(" + k + ")").test(format)) {
        		format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
       		}
        }
        return format;
    }
 
好了,我们为Date对象扩展了一个format属性,支持yyyy,MM,dd,hh,nn,ss,qq,SS转换。
2、关于使用方法。
比如我有一个时间字符串,先转成Date对象,然后调用我们定义的format属性.
var date = '2016-10-24 10:00:00';
date = new Date(date).format('yyyy-MM-dd');
alert(date);

就是这样使用,alert弹出的就是2016-10-24了。
当然,Long型时间戳也是这样转换的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值