Rumah  >  Artikel  >  hujung hadapan web  >  Penjelasan terperinci tentang sifat dan kaedah objek Tarikh objek asli JavaScript_Pengetahuan asas

Penjelasan terperinci tentang sifat dan kaedah objek Tarikh objek asli JavaScript_Pengetahuan asas

WBOY
WBOYasal
2016-05-16 16:09:371417semak imbas

Sintaks untuk mencipta objek Tarikh:

Salin kod Kod adalah seperti berikut:

//Objek Tarikh akan secara automatik menyimpan tarikh dan masa semasa kepada nilai awalnya.
Tarikh baharu();

//nilai-milisaat: mewakili nilai bermula dari 00:00:00 pada 1 Januari 1970 UTC.
Tarikh(nilai) baharu;

//dateString-date string: nilai rentetan yang mewakili tarikh. Rentetan ini hendaklah dalam format yang diiktiraf dalam kaedah parse.
Tarikh baharu(dateString);

//tahun-tahun: nilai integer yang mewakili tahun. Untuk mengelakkan masalah tahun 2000 adalah lebih baik untuk menentukan tahun 4 digit; //bulan-bulan: nilai integer yang mewakili bulan dari 0 (Januari) hingga 11 (Disember)
//hari-hari: nilai integer yang mewakili hari dalam sebulan, bermula dari 1
//jam-jam: nilai integer yang mewakili bilangan jam dalam sehari (format 24 jam)
//minit-minit
//saat-saat
//milisaat-milisaat
Tarikh baharu(tahun, bulan, hari [, jam, minit, saat, milisaat]);

Tarikh()

Kaedah Date() mengembalikan tarikh dan masa hari ini.


Salin kod Kod adalah seperti berikut:
console.log(Date()); //"Selasa 17 Sep 2013 12:22:55 GMT 0800 (Masa Standard China)"

parse()

Kaedah parse() menghuraikan rentetan datetime dan mengembalikan bilangan milisaat dari tengah malam pada 1 Januari 1970 kepada datetime.

Date.parse(datestring)

Rentetan tarikh parameter diperlukan dan mewakili rentetan tarikh dan masa.

Perhatikan bahawa kaedah ini ialah kaedah statik bagi objek Tarikh. Kaedah ini biasanya dipanggil dalam bentuk Date.parse() dan bukannya melalui dateobject.parse().


Salin kod Kod adalah seperti berikut:
console.log(Date.parse(Date())); //1379392301000
console.log(Date.parse("9 Ogos 1995")); //807897600000

UTC()

Kaedah UTC() mengembalikan bilangan milisaat dari 1 Januari 1970 ke tarikh yang ditentukan mengikut masa universal.

Tarikh.UTC(tahun, bulan, hari, jam, minit, saat, ms)

Tahun parameter diperlukan, mewakili nombor empat digit bulan diperlukan, mewakili integer bulan, antara 0 ~ 11 hari adalah pilihan, mewakili integer tarikh, antara 1 ~ 31; jam adalah pilihan, mewakili integer jam, antara 0 ~ 23 minit adalah pilihan, mewakili integer minit, antara 0 ~ 59 saat adalah pilihan, mewakili integer saat, antara 0 ~ 59; ; ms adalah pilihan dan mewakili integer dalam milisaat, antara 0 hingga 999.

Date.UTC() ialah kaedah statik. Parameter kaedah Date.UTC() menentukan tarikh dan masa, iaitu kedua-dua masa UTC, dalam zon waktu GMT. Masa UTC yang ditentukan ditukar kepada milisaat supaya ia boleh digunakan oleh pembina Date() dan kaedah Date.setTime().

Jenis Tarikh dalam ECMAScript dibina pada kelas Java.util.Date di Java awal. Untuk tujuan ini, jenis Tarikh menggunakan bilangan milisaat yang telah berlalu sejak tengah malam (sifar jam) pada 1 Januari 1970, UTC (Waktu Sejagat Selaras, Waktu Selaras Antarabangsa) untuk menyimpan tarikh. Di bawah syarat menggunakan format storan data ini, tarikh yang disimpan mengikut jenis Tarikh boleh tepat kepada 285616 tahun sebelum atau selepas 1 Januari 1970.

Nota: tarikh dan masa parse() dibuat berdasarkan zon waktu tempatan, bukan GMT. UTC() dicipta berdasarkan GMT. Parameter mereka juga berbeza.

GMT: Waktu Universal, iaitu waktu standard di Greenwich.


Salin kod Kod adalah seperti berikut:
var d = new Date();
console.log(Date.parse(d)); //1379393562000

console.log(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()) ); //1379422362020

ECMAScript5 menambah kaedah Data.now(), yang mengembalikan bilangan milisaat yang mewakili tarikh dan masa apabila kaedah ini dipanggil. IE9 hanya mula menyokongnya, tetapi kita boleh menggunakan operator untuk menukar objek Data menjadi rentetan dan mendapatkan nilai yang sama.

Salin kod Kod adalah seperti berikut:
var d1 = Date.now();
var d2 = new Date();
console.log(d1); //1379393793104

console.log(d2); //1379393793104

Penukaran tarikh dalam JavaScript adalah sangat pelik Bukan sahaja akan terdapat hasil tafsiran yang berbeza disebabkan oleh parameter yang berbeza, malah prestasi dalam setiap penyemak imbas juga berbeza, seperti berikut:

Salin kod Kod adalah seperti berikut:

var d1 = new Date("2012/03/13");
var d2 = new Date("2012-03-13");
var d3 = new Date("2012-3-13");

console.log(d1); //Selasa 13 Mac 2012 00:00:00 GMT 0800 (Waktu Standard China)
console.log(d2); //Selasa 13 Mac 2012 08:00:00 GMT 0800 (Waktu Standard China)
console.log(d3); //Selasa 13 Mac 2012 00:00:00 GMT 0800 (Waktu Piawai China)

Rujukan prestasi dalam pelayar berbeza: http://dygraphs.com/date-formats.html

Untuk mengelakkan masalah ini, ikut nasihat di bawah:

1 Berpegang pada format rentetan tarikh "TTTT/MM/DD"
2. Elakkan menggunakan format rentetan tarikh "YYYY-MM-DD" dengan tanda sempang
3. Nyatakan tahun empat digit
4. Penyemak imbas Chrome boleh menerima lebih banyak rentetan tarikh berbanding penyemak imbas lain, jadi jika tiada masalah dalam penyemak imbas Chrome, ia tidak bermakna tiada masalah dalam penyemak imbas lain

Untuk maklumat lanjut, sila rujuk: JavaScript and Dates, What a Mess! dan Perbincangan dalam SO

dapatkan kaedah siri

getDate() mengembalikan hari dalam bulan (1 ~ 31) daripada objek Date.
getDay() mengembalikan hari dalam seminggu (0 ~ 6) daripada objek Tarikh.
getMonth() mengembalikan bulan (0 ~ 11) daripada objek Tarikh.
getFullYear() Mengembalikan tahun sebagai nombor empat digit daripada objek Tarikh. Berhati-hati untuk tidak menggunakan getYear().
getHours() mengembalikan jam (0 ~ 23) objek Date.
getMinutes() mengembalikan minit (0 ~ 59) objek Date.
getSeconds() mengembalikan bilangan saat dalam objek Tarikh (0 ~ 59).
getMilliseconds() mengembalikan milisaat (0 ~ 999) objek Date.
getTime() mengembalikan bilangan milisaat sejak 1 Januari 1970.
getTimezoneOffset() Mengembalikan perbezaan dalam minit antara waktu tempatan dan Greenwich Mean Time (GMT).
getUTCDate() Mengembalikan hari dalam bulan (1 ~ 31) daripada objek Tarikh berdasarkan masa universal.
getUTCDay() Mengembalikan hari dalam seminggu (0 ~ 6) daripada objek Tarikh berdasarkan masa universal.
getUTCMonth() mengembalikan bulan (0 ~ 11) daripada objek Tarikh berdasarkan masa sejagat.
getUTCFulYear() Mengembalikan tahun empat digit daripada objek Tarikh berdasarkan masa sejagat.
getUTCHours() mengembalikan jam (0 ~ 23) objek Tarikh mengikut masa sejagat.
getUTCMinutes() mengembalikan minit (0 ~ 59) objek Tarikh mengikut masa sejagat.
getUTCSeconds() Mengembalikan saat (0 ~ 59) objek Tarikh mengikut masa sejagat.
getUTCMilliseconds() mengembalikan milisaat (0 ~ 999) objek Date mengikut masa universal.

tetapkan kaedah siri

setDate() menetapkan hari dalam bulan (1 ~ 31) dalam objek Tarikh.
setMonth() menetapkan bulan (0 ~ 11) dalam objek Date.
setFullYear() Menetapkan tahun (empat digit) dalam objek Tarikh. Berhati-hati untuk tidak menggunakan kaedah setYear().
setHours() menetapkan jam (0 ~ 23) dalam objek Date.
setMinutes() menetapkan minit (0 ~ 59) dalam objek Date.
setSeconds() menetapkan saat (0 ~ 59) dalam objek Date.
setMilliseconds() menetapkan milisaat (0 ~ 999) dalam objek Date.
setTime() menetapkan objek Tarikh dalam milisaat.
setUTCDate() Menetapkan hari dalam bulan (1 ~ 31) dalam objek Tarikh mengikut masa sejagat.
setUTCMonth() Menetapkan bulan (0 ~ 11) dalam objek Tarikh mengikut masa sejagat.
setUTCFulYear() Menetapkan tahun (empat digit) dalam objek Tarikh mengikut masa sejagat.
setUTCHours() Menetapkan jam (0 ~ 23) dalam objek Tarikh mengikut masa sejagat.
setUTCMinutes() Menetapkan minit dalam objek Tarikh (0 ~ 59) mengikut masa sejagat.
setUTCSeconds() Menetapkan saat dalam objek Tarikh (0 ~ 59) mengikut masa sejagat.
setUTCMilliseconds() Menetapkan milisaat dalam objek Tarikh (0 ~ 999) mengikut masa universal.

kaedah siri toString

toString() Menukar objek Date kepada rentetan toString() sentiasa mengembalikan rentetan yang dinyatakan dalam Bahasa Inggeris Amerika.
toTimeString() Menukar bahagian masa objek Tarikh kepada rentetan.
toDateString() Menukar bahagian tarikh objek Tarikh kepada rentetan.
toUTCString() Menukar objek Tarikh kepada rentetan mengikut masa sejagat.
toLocaleString() Menukar objek Tarikh kepada rentetan mengikut format waktu tempatan.
toLocaleTimeString() Menukar bahagian masa objek Date kepada rentetan mengikut format waktu tempatan.
toLocaleDateString() Menukar bahagian tarikh objek Tarikh kepada rentetan mengikut format waktu tempatan.

Salin kod Kod adalah seperti berikut:

var d = new Date();

console.log(d);                                                       //Selasa 17 Sep 2013 13:37:04 GMT 0800 (Waktu Standard China) console.log(d.toTimeString()); //13:37:04 GMT 0800 (Masa Standard China)
console.log(d.toDateString() ); //Selasa 17 Sep 2013
console.log(d.toUTCString()); //Selasa, 17 Sep 2013 05:37:04 GMT
console.log(d.toLocaleString()); //17 September 2013 1:37:04 petang
console.log(d.toLocaleTimeString()); //1:37:04 PTG
console.log(d.toLocaleDateString()); //17 September 2013

Perhatikan bahawa siri kaedah toLocaleString() boleh menerima parameter untuk menentukan konvensyen output:

MDN

Salin kod Kod adalah seperti berikut:
var d = new Date();
console.log(d.toLocaleString("ko-KR")); //2013년 9월 17일 오후 1:48:24


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn