Secara amnya, apabila kami mendapat tahun, kami menggunakan kod berikut:
var now = new Date(); var initYear = now.getYear();
Kod di atas adalah betul dalam initYear dalam IE, tetapi ia tidak serasi di bawah ff dan chrome. Gantikan dengan
var initYear = now.getFullYear();
Ia tersedia dalam IE, FireFox dan Chrome
Perbezaan antara getYear() dan getFullYear() dalam JS:
Cara untuk mendapatkan tahun semasa dalam js ialah var dayObj=new Date(); dayObj.getYear() untuk mendapatkan tahun yang saya tulis sebelum ini akan menyebabkan masalah keserasian penyemak imbas, iaitu, dalam IE kita boleh dapatkan apa yang kita mahu Hasil yang diingini tidak berfungsi dalam FF, dan terdapat perbezaan 1900 tahun antara hasil yang diinginkan dan hasil yang diinginkan. Apa yang saya lakukan pada masa itu ialah:
var dayObj=new Date(); var myYears = ( dayObj.getYear() < 1900 ) ? ( 1900 + dayObj.getYear() ) : dayObj.getYear(); document.write(myYears);
Dengan cara ini anda boleh mengelakkan isu keserasian antara IE dan FF.
Sekarang saya melihat bahawa terdapat kaedah sedemikian getFullYear() dalam js. Selepas ujian, ternyata kaedah ini boleh mengelakkan masalah di atas, dan kedua-dua IE dan FF boleh memaparkan seperti yang kita mahu.
kaedah getFullYear
Mengembalikan nilai tahun yang dinyatakan dalam waktu tempatan dalam objek Tarikh.
dateObj.getFullYear()
Parameter dateObj yang diperlukan ialah objek Date.
Penerangan
Untuk mendapatkan nilai tahun dalam Waktu Universal Selaras (UTC), gunakan kaedah getUTCFulYear.
Kaedah getFullYear mengembalikan nilai tahun sebagai nombor mutlak. Sebagai contoh, nilai pulangan untuk tahun 1976 ialah 1976. Ini mengelakkan masalah tahun 2000, di mana tarikh selepas 1 Januari 2000, tidak dikelirukan dengan tarikh selepas 1 Januari 1900.
Contoh berikut menggambarkan penggunaan kaedah GetFullYear.
function DateDemo(){ var d, s = "今天 UTC 日期是: "; d = new Date(); s += (d.getMonth() + 1) + "/"; s += d.getDate() + "/"; s += d.getFullYear(); return(s); }