原来的代码:
function format(shijianchuo) {
var time = new Date(shijianchuo);
var y = time.getFullYear();
var m = time.getMonth() + 1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
return y + '-' + add0(m) + '-' + add0(d) + ' ' + add0(h) + ':' + add0(mm)
}
function add0(m) {
return m < 10 ? '0' + m : m
}
这样写在大部分机型上是可以实现的,但是部分ios机型会显示出NaN。
查了一下,只需要把数字转化成float型就可以了~
即:把这句:var time = new Date(shijianchuo);
改成:var time = new Date(parseFloat(shijianchuo));
就ok啦,也是一个很简单的问题。
反过来,把格式化了的时间转化为时间戳,ios也不一样,比如'2020-08-09 15:22:33'这种,安卓可以直接这样:
var timestamp = new Date('2020-08-09 15:22:33').getTime();
ios就需要这样:
var timestamp = new Date('2020-08-09 15:22:33'.replace(/-/g, '/')).getTime();
摊手。