JS时间戳转日期时间 手机浏览器兼容

现状是后端提供时间戳给我,我需要转换成正常的日期和时间显示出来。但是发现在ios上能正常显示,华为却和我原本希望显示的不太一样。后来在网上找到了

javaScript把时间戳转换为时间格式(已处理兼容格式)

http://www.cnblogs.com/H-csy/p/8888478.html

解决了我现在的问题。

下面分享一下我现在修改后的代码,主要是增加了几种日期显示模式,方便在不同场景下使用。

/*
使用
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值