html5页面时间格式,h5页面上时间格式化

本文总结了在HTML5页面上处理时间格式的问题,特别是针对iOS设备的兼容性问题。介绍了三种时间格式化方法:1) 时间格式化函数通过扩展Date对象实现;2) 数字到时间格式的方法,用于格式化秒数;3) 倒计时函数。对于iOS不识别'2017-03-12 12:09'的情况,提出了将日期转换为'2017/03/12/12/11'格式的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值