起初为了简便起见,使用了toLocaleString()这个方法,结果问题就出现了。
<script type="text/javascript">
new Date(parseInt(1421683200) * 1000).toLocaleString();
//IE浏览器下结果为:2015年1月20日 0:00:00
//Google浏览器下结果为:2015/1/20 上午12:00:00
//Firefox浏览器下结果为:2015/1/20 上午12:00:00
//Safari浏览器下的结果为: Tuesday,January 20, 2015 00:00:00
</script>
各家浏览器得出的结果不一样有木有?那么怎么才能使得各家浏览器的结果是一样的的呢?其实很简单,就是先获得时间Date,然后再分别获得年月日,如果必要的话还可以获得时分秒等其他所需数据,然后根据自己所需要的时间格式,利用上面得到的数据自己拼接一个时间字符串即可,这样各家浏览器显示的都是你自己定义的字符串,当然就不会出现显示效果不统一的情况了。
<script type="text/javascript">
var test = new Date(parseInt(1421683200) * 1000);
var $_year = test.getFullYear();
var $_month = parseInt(test.getMonth())+1;
var $_day = test.getDate();
var $_f_date = $_year +"-"+$_month+"-"+$_day
alert($_f_date);//2015-1-20
var $_f_date2 = $_year +"年"+$_month+"月"+$_day+"日";
alert($_f_date2);//2015年1月20日
</script>
原文地址:
http://www.iyuze.cn/article/574.html