為什麼getYear()無法取得正確年份

antzone發表於2017-04-17

在一些js程式碼中,特別是老舊的js程式碼中,可能會出現無法取得正確年份的現象,先看一段程式碼例項:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript"> 
window.onload=function()
{ 
  var parent=document.getElementById("parent"); 
  var myDate=new Date(); 
  parent.innerHTML=myDate.getYear(); 
} 
</script> 
</head> 
<body> 
<div id="parent"></div> 
</body> 
</html>

以上程式碼在FF、火狐、IE9或者IE9以上的瀏覽器中,都不能正確的獲取年份,比如當前年份是2013年,但是getYear()返回值是113,而在IE8或者IE8以下的瀏覽器中能夠獲取正確的年份2013,這裡就不介紹為什麼會出現這種情況,因為現在建議使用getFullYear()函式替代getYear()函式,因為此函式可以相容所有主流瀏覽器,程式碼修改如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript"> 
window.onload=function()
{ 
  var parent=document.getElementById("parent"); 
  var myDate=new Date(); 
  parent.innerHTML=myDate.getFullYear(); 
} 
</script> 
</head> 
<body> 
<div id="parent"></div> 
</body> 
</html>

相關文章