现状是后端提供时间戳给我,我需要转换成正常的日期和时间显示出来。但是发现在ios上能正常显示,华为却和我原本希望显示的不太一样。后来在网上找到了
解决了我现在的问题。
下面分享一下我现在修改后的代码,主要是增加了几种日期显示模式,方便在不同场景下使用。
/*
使用
1.显示秒 12小时制 2019-01-24 01:37:14 PM
getMyDate(timestamp,0);
2.不显示秒 12小时制 12小时制 2019-01-24 01:37 PM
getMyDate(timestamp,1);
3.显示英语日月年 01 Jan. 2019
getMyDate(timestamp,2);
4.斜杠显示月日年 01/31/2019
getMyDate(timestamp,3);
5.显示秒 24小时制 2019-01-24 13:37:14
getMyDate(timestamp,4);
6.不显示秒 24小时制 2019-01-24 13:37
getMyDate(timestamp,5);
7.只显示年月日 2019-01-24
getMyDate(timestamp,0).split(" ")[0];
8.只显示时间 13:37:14
getMyDate(timestamp,4).split(" ")[1];
*/
// 参数 str 为时间戳 可以传入10位也可以传入13位
// 参数 bool的值可传true或者false或者不传,如果需要显示秒则传true,不需要显示则传false或者不传
function getMyDate(str, int){
if(str > 9999999999) { // 这里判断:时间戳为几位数
var c_Date = new Date(parseInt(str));
} else {
var c_Date = new Date(parseInt(str) * 1000);
}
var c_Year = c_Date.getFullYear(),
c_Month = c_Date.getMonth()+1,
c_Day = c_Date.getDate(),
c_Hour = c_Date.getHours(),
c_Min = c_Date.getMinutes(),
c_Sen = c_Date.getSeconds();
if(int == 0) { //显示秒 12小时制 2019-01-24 01:37:14 PM
var c_Time = c_Year +'-'+ getzf(c_Month) +'-'+ getzf(c_Day) +' '+ getAPHour(getzf(c_Hour)) +':'+ getzf(c_Min) +':'+getzf(c_Sen)+" "+getAPM(getzf(c_Hour));
} else if(int == 1){//不显示秒 12小时制 12小时制 2019-01-24 01:37 PM
var c_Time = c_Year +'-'+ getzf(c_Month) +'-'+ getzf(c_Day) +' '+ getAPHour(getzf(c_Hour)) +':'+ getzf(c_Min)+" "+getAPM(getzf(c_Hour));
} else if(int == 2){//显示英语日月年 01 Jan. 2019
var c_Time = getzf(c_Day)+" "+getEnMonth(getzf(c_Month))+". "+c_Year ;
}else if(int == 3){//显示月日年 01/31/2019
var c_Time = getzf(c_Month) +'/'+ getzf(c_Day) +'/'+ c_Year;
}else if(int == 4){//显示秒 24小时制 2019-01-24 13:37:14
var c_Time = c_Year +'-'+ getzf(c_Month) +'-'+ getzf(c_Day) +' '+ getzf(c_Hour) +':'+ getzf(c_Min) +':'+getzf(c_Sen);
}else if(int == 5){//不显示秒 24小时制 2019-01-24 13:37
var c_Time = c_Year +'-'+ getzf(c_Month) +'-'+ getzf(c_Day) +' '+ getzf(c_Hour) +':'+ getzf(c_Min);
}
return c_Time;
};
//12点以后显示PM 之前AM
function getAPM(hour){
if(hour >= 12){
return "PM";
}else{
return "AM";
}
}
//补0操作 小于10的就在数字前面加0
function getzf(c_num){
if(parseInt(c_num) < 10){
c_num = '0' + c_num;
}
return c_num;
}
//13点-24点减去12小时显示
function getAPHour(hour){
if(hour > 12){
return hour-12;
}
return hour;
}
//获得每个月英语名字
function getEnMonth(m){
var month="";
if(m ==01){month = "Jan";}
else if(m == 02){month = "Feb";}
else if(m == 03){month = "Mar";}
else if(m == 04){month = "Apr";}
else if(m == 05){month = "May";}
else if(m == 06){month = "Jun";}
else if(m == 07){month = "Jul";}
else if(m == 08){month = "Aug";}
else if(m == 09){month = "Sept";}
else if(m == 10){month = "Oct";}
else if(m == 11){month = "Nov";}
else if(m == 12){month = "Dec";}
return month;
}
一只小菜鸟的踩坑笔记XD