跳至內容

英文维基 | 中文维基 | 日文维基 | 草榴社区

File:JavaScript getYear Method Problem.png

頁面內容不支援其他語言。
這個檔案來自維基共享資源
維基百科,自由的百科全書

JavaScript_getYear_Method_Problem.png (326 × 190 像素,檔案大小:6 KB,MIME 類型:image/png


摘要

描述
English: Webpage screenshots showing the JavaScript .getYear method problem. It depicts the so-called Year 2000 problem.

The results of the .getYear method are different with Internet Explorer 6-8 and the other modern browsers:

  • IE3, IE9+, other modern browsers: .getYear always returns a 2-digit value that is the stored year minus 1900).
  • IE4-8, other modern browsers:
    • .getYear returns a 2-digit value that is the stored year minus 1900) for the years 1900 through 1999;
    • it returns the 4-digit full year for dates outside that range.

.getYear is now obsoleted, but supported for backward compatibility by all modern browsers.

.getFullYear is not supported before IE6. With those that support it, the 4-digit full year is always returned. This method is currently recommended.

HTML and JavaScript code (by Tomchen1989 under CC0 1.0)
<!DOCTYPE html>
<html lang="en">
<head>
<title>JavaScript .getYear Method Problem</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<style>
table{border-collapse:collapse;}
th,td{border:1px solid #000;}
</style>
</head>
<body>
<table>
<tr>
	<th>Real year</th>
	<th>1858</th><th>1990</th><th>1994</th><th>2000</th><th>2007</th>
</tr>
<tr>
	<th>.getYear() result</th>
	<td id="getyear1"></td><td id="getyear2"></td><td id="getyear3"></td><td id="getyear4"></td><td id="getyear5"></td>
</tr>
<tr>
	<th>.getFullYear() result</th>
	<td id="getfullyear1"></td><td id="getfullyear2"></td><td id="getfullyear3"></td><td id="getfullyear4"></td><td id="getfullyear5"></td>
</tr>
</table>
<script>
var dates = [new Date("1858, 1, 1"), new Date("1990, 1, 1"), new Date("1994, 1, 1"), new Date("2000, 1, 1"), new Date("2007, 1, 1")];
for (var i = 0; i < dates.length; i++) {
	document.getElementById("getyear" + (i+1)).innerHTML = dates[i].getYear();
	document.getElementById("getfullyear" + (i+1)).innerHTML = dates[i].getFullYear();
}
</script>
</body>
</html>

BTW, if you want to return a 2-digit year value (only for AD, 3, 203, 1803, 1903 and 2003 all return "03", that are the last two digits) in modern browsers, you may try:

("0"+dateObj.getFullYear().toString()).slice(-2);

References:

日期
來源 自己的作品
作者 Tomchen1989

授權條款

我,本作品的著作權持有者,決定用以下授權條款發佈本作品:
Creative Commons CC-Zero 此檔案在創用CC CC0 1.0 通用公有領域貢獻宣告之下分發。
在此宣告之下分發本作品者,已依據各國著作權法,在全世界放棄其對本作品所擁有的著作權及所有相關相似的法律權利,從而將本作品貢獻至公有領域。您可以複製、修改、分發和演示該作品,用於任何商業用途,所有這些都不需要請求授權。

說明

添加單行說明來描述出檔案所代表的內容
显示 JavaScript .getYear 方法问题的网页屏幕截图。 它描述了所谓的 2000 年问题。 .getYear 方法的结果与 Internet Explorer 6-8 和其他现代浏览器不同:IE3、IE9+、其他现代浏览器:.getYear 始终返回一个 2 位数的值,即存储的年份减去 1900)。 IE4-8,其他现代浏览器:.getYear 返回 1900 年到 1999 年的 2 位数字值,即存储的年份减去 1900); 对于该范围之外的日期,它返回 4 位数的全年。

在此檔案描寫的項目

描繪內容

檔案歷史

點選日期/時間以檢視該時間的檔案版本。

日期/時間縮⁠圖尺寸使用者備⁠註
目前2014年5月2日 (五) 18:29於 2014年5月2日 (五) 18:29 版本的縮圖326 × 190(6 KB)Tomchen1989User created page with UploadWizard

下列頁面有用到此檔案:

全域檔案使用狀況

以下其他 wiki 使用了這個檔案:

詮釋資料