下面代码是我用于格式化日期的函数,因为小程序获取数据返回的日期格式是"yyyy/MM/dd hh:ss:mm",而我们展示数据以及向后台传参的格式是"yyyy-MM-dd hh:mm:ss"。我发现在开发者工具使用该函数没有问题,但是用ios手机测试,显示我转换的日期字符串变成了"NaN-NaN-NaN NaN:NaN:NaN",我一整个大无语住了,后来百度过后才知道原来ios手机的话小程序用new Date(time),time不能是-,需要是/,所以就加了两段代码解决了。
var data = data;
if(data == null || data== "" || data== undefined || data == "null" || data == " "){
return ;
}
if(data.indexOf('-') > 0){
data = data.replace(/-/g, '/')
}
修改前的代码:
// 调整日期格式 data:要转换格式的日期 i:要转换格式的类别
// i == 1 yyyy-MM-dd hh:mm:ss
// i == 2 yyyy-MM-dd
// i == 3 hh:mm
// i == 4 yyyy-MM-dd 00:00:00
// i == 5 yyyy-MM-dd hh:mm
// i == 6 yyyy-MM-dd hh:mm:00
function filterDate(data,i){
var date = new Date(data)
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
h = h < 10 ? ('0' + h) : h;
var minute = date.getMinutes();
var second = date.getSeconds();
minute = minute < 10 ? ('0' + minute) : minute;
second = second < 10 ? ('0' + second) : second;
var result;
if(i == 1){
result = y + '-' + m + '-' + d + ' ' + h + ':' + minute+':' + second;
}else if(i == 2){
result = y + '-' + m + '-' + d;
}else if(i == 3){
result = h + ':' + minute;
}else if(i == 4){
result = y + '-' + m + '-' + d + ' ' + '00:00:00';
}else if(i == 5){
result = y + '-' + m + '-' + d + ' ' + h + ':' + minute;
}else if(i == 6){
result = y + '-' + m + '-' + d + ' ' + h + ':' + minute + ":00";
}
return result
}
修改后的代码:
function filterDate(data,i){
var data = data;
if(data == null || data== "" || data== undefined || data == "null" || data == " "){
return ;
}
if(data.indexOf('-') > 0){
data = data.replace(/-/g, '/')
}
var date = new Date(data)
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
h = h < 10 ? ('0' + h) : h;
var minute = date.getMinutes();
var second = date.getSeconds();
minute = minute < 10 ? ('0' + minute) : minute;
second = second < 10 ? ('0' + second) : second;
var result;
if(i == 1){
result = y + '-' + m + '-' + d + ' ' + h + ':' + minute+':' + second;
}else if(i == 2){
result = y + '-' + m + '-' + d;
}else if(i == 3){
result = h + ':' + minute;
}else if(i == 4){
result = y + '-' + m + '-' + d + ' ' + '00:00:00';
}else if(i == 5){
result = y + '-' + m + '-' + d + ' ' + h + ':' + minute;
}else if(i == 6){
result = y + '-' + m + '-' + d + ' ' + h + ':' + minute + ":00";
}
return result
}