h5页面上时间格式化

h5页面会应到到PC、Android、IOS,但是,我们经常用到的new Date().Format(' ') 有可能不兼容所有的系统。最近在做h5时,遇到ios不识别'2017-03-12 12:09',返回的是NaN,网上查了一些方法,做下总结:


封装的一些时间格式方法:

1.时间格式化

Date.prototype.Format = function(fmt) {
var o = {
"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+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.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;
};


2. 格式化秒数到时间格式 00:02:03
Number.prototype.formatTime = function() {
// 计算
var h = 0,
i = 0,
s = parseInt(this);
if (s >= 60) {
i = parseInt(s / 60);
s = parseInt(s % 60);
if (i >= 60) {
h = parseInt(i / 60);
i = parseInt(i % 60);
}
}
// 补零
var zero = function(v) {
return (v >> 0) < 10 ? "0" + v : v;
};
return [zero(h), zero(i), zero(s)].join(":");
};


3.// 倒计时,t:秒数
Date.Countdown = function(t){
var d = 0,
h = 0,
m = 0,
s = t;
var countdown = '';
if (s > 60) {
m = parseInt(s / 60);
s = parseInt(s % 60);
if (m > 60) {
h = parseInt(m / 60);
m = parseInt(m % 60);
if (h > 24) {
d = parseInt(h / 24);
h = parseInt(h % 24);
}
}
}

if (d > 0) {
countdown = d + '天' + h + '小时' + m + '分' + s + '秒';
}else if (h > 0) {
countdown = h + '小时' + m + '分' + s + '秒';
}else if (m > 0) {
countdown = m + '分' + s + '秒';
}else if (s > 0) {
countdown = s + '秒';
}else{
countdown = 0;
}
return countdown;
};


如果需要处理的时间格式是‘2017-03-12 12:11’,在ios上不识别,需要转换成2017/03/12/12/11,这样就可以了:

var testTime = ‘2017-03-12 12:11’;

var arr = testTime.split(/[- : \/]/);

var servertime = new Date(arr[0],arr[1]-1, arr[2], arr[3], arr[4], arr[5]);
alert(servertime);


或者


var time = new Date().Format('yyyy/MM/dd/hh/mm/ss');



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值