Tanggal tanggal dan objek waktu
1. Pendahuluan
Objek tanggal adalah objek yang beroperasi pada tanggal dan waktu. Pengoperasian objek tanggal pada tanggal dan waktu hanya dapat dilakukan melalui metode.
2. Konstruktor
2.1 Tanggal Baru (): Kembalikan tanggal dan waktu lokal saat ini
Parameter: Tidak ada
Nilai pengembalian:
{Date} Mengembalikan objek tanggal yang mewakili tanggal dan waktu lokal.
Contoh:
Salinan kode adalah sebagai berikut:
var dt = tanggal baru ();
Console.log (DT); // => Mengembalikan objek tanggal yang mewakili tanggal dan waktu lokal
2.2 Tanggal Baru (milidetik): Konversi milidetik menjadi objek tanggal
parameter:
① milidetik {int}: milidetik; mewakili jumlah milidetik mulai dari '1970/01/01 00:00:00' sebagai titik awal.
Catatan: Waktu, menit dan detik pada titik awal harus ditambahkan ke zona waktu saat ini. Zona waktu waktu Beijing adalah East 8, dan waktu titik awal yang sebenarnya adalah: '1970/01/01 08:00:00'
Nilai pengembalian:
{Date} Mengembalikan objek tanggal yang dilapisi.
Contoh:
Salinan kode adalah sebagai berikut:
var dt = Tanggal baru (1000 * 60 * 1); // Jumlah milidetik untuk maju 1 menit
Console.log (DT); // => {date}: 1970/01/01 08:01:00
dt = tanggal baru (-1000 * 60 * 1); // Jumlah milidetik untuk kembali 1 menit
Console.log (DT); // => {date}: 1970/01/01 07:59:00
2.3 Tanggal Baru (DataStr): Konversi string menjadi objek tanggal
parameter:
①DateTestr {String}: String yang dapat dikonversi menjadi objek tanggal (waktu dapat dihilangkan); Ada dua format utama string:
1) yyyy/mm/dd hh: mm: ss (disarankan): Jika waktu dihilangkan, waktu objek tanggal yang dikembalikan adalah 00:00:00.
2) yyyy-mm-dd hh: mm: ss: jika waktu dihilangkan, waktu objek tanggal yang dikembalikan adalah 08:00:00 (ditambah zona waktu setempat). Jika waktu tidak dihilangkan, string ini akan gagal mengonversi di IE!
Nilai pengembalian:
{Date} Mengembalikan objek tanggal yang dikonversi.
Contoh:
Salinan kode adalah sebagai berikut:
var dt = tanggal baru ('2014/12/25'); // yyyy/mm/dd
Console.log (DT); // => {date}: 2014/12/25 00:00:00
dt = tanggal baru ('2014/12/25 12:00:00'); // yyyy/mm/dd hh: mm: ss
Console.log (DT); // => {date}: 2014/12/25 12:00:00
dt = tanggal baru ('2014-12-25'); // yyyy-mm-dd
Console.log (DT); // => {date}: 2014-12-25 08:00:00 (Tambahkan ke zona waktu East 8)
dt = tanggal baru ('2014-12-25 12:00:00'); // yyyy-mm-dd hh: mm: ss (catatan: metode konversi ini akan melaporkan kesalahan di IE!)
Console.log (DT); // => {date}: 2014-12-25 12:00:00
2.4 Tanggal Baru (Tahun, Bulan, Opt_day, Opt_Hours, Opt_minutes, Opt_seconds, Opt_milliseconds): Konversi Tahun, Bulan, Hari, Jam, Menit dan Kedua menjadi Objek Tanggal Tanggal
parameter:
①Year {int}: tahun; 4 digit. Misalnya: 1999, 2014
②month {int}: bulan; 2 digit. Dihitung dari 0, 0 berarti Januari dan 11 berarti Desember.
③opt_day {int} opsional: angka; Nomor 2 digit; Mulai dari 1, 1 mewakili angka 1.
④opt_hours {int} opsional: waktu; Nomor 2 digit; nilai 0 ~ 23.
⑤opt_minutes {int} opsional: poin; Nomor 2 digit; Nilai 0 ~ 59.
⑥opt_seconds {int} opsional: detik; 2 tidak bernomor; Nilai 0 ~ 59.
⑦opt_milliseconds {int} opsional: milidetik; Nilai 0 ~ 999.
Nilai pengembalian:
{Date} Mengembalikan objek tanggal yang dikonversi.
Contoh:
Salinan kode adalah sebagai berikut:
var dt = Tanggal baru (2014, 11); // Desember 2014 (nomor bulan yang dimasukkan di sini adalah 11)
Console.log (DT); // => {date}: 2014/12/01 00:00:00
DT = Tanggal Baru (2014, 11, 25); // 25 Desember 2014
Console.log (DT); // => {date}: 2014/12/25 00:00:00
DT = Tanggal Baru (2014, 11, 25, 15, 30, 40); // 25 Desember 2014 15:30:40
Console.log (DT); // => {date}: 2014/12/25 15:30:40
DT = Tanggal Baru (2014, 12, 25); // 25 Desember 2014 (nomor bulan yang dimasukkan di sini adalah 12, menunjukkan bulan ke -13, lompat ke Januari tahun kedua)
Console.log (DT); // => {date}: 2015/01/25
3. Properti
Tidak ada; Objek tanggal hanya dapat beroperasi pada tanggal dan waktu melalui metode.
4. Metode contoh
Metode contoh objek tanggal terutama dibagi menjadi dua bentuk: waktu setempat dan waktu UTC. Untuk metode yang sama, umumnya ada dua operasi format waktu (nama metode memiliki UTC, yaitu untuk mengoperasikan waktu UTC). Di sini kami terutama memperkenalkan operasi pada waktu setempat.
4.1 Dapatkan metode
4.1.1 Getlyear (): Mengembalikan nilai tahun objek tanggal; 4-bit tahun.
4.1.2 getMonth (): Mengembalikan nilai bulan dari objek tanggal. Mulai dari 0, jadi bulan sebenarnya = nilai pengembalian +1.
4.1.3 getDate (): Mengembalikan nilai tanggal di bulan objek tanggal; Kisaran nilai adalah 1 ~ 31.
4.1.4 getHours (): Mengembalikan nilai jam dari objek tanggal.
4.1.5 getminutes (): Mengembalikan nilai menit dari objek tanggal.
4.1.6 getSeconds (): Mengembalikan nilai kedua dari objek tanggal.
4.1.7 getMilliseconds (): Mengembalikan nilai milidetik dari objek tanggal.
4.1.8 getDay (): Mengembalikan nilai minggu dari minggu objek tanggal; 0 adalah hari Minggu, 1 adalah Senin, 2 adalah Selasa, dan seterusnya
4.1.9 GetTime (): Mengembalikan nilai milidetik antara objek tanggal dan '1970/01/01 00:00:00' (zona waktu waktu Beijing adalah timur 8, dan waktu mulai yang sebenarnya adalah: '1970/01/01 08:00:00').
Contoh:
Salinan kode adalah sebagai berikut:
dt.getlyear (); // => 2014: Tahun
dt.getMonth (); // => 11: bulan; Ini sebenarnya Desember (bulan dihitung dari 0)
dt.getDate (); // => 25: hari
dt.getHours (); // => 15:
dt.getMinutes (); // => 30: poin
dt.getSeconds (); // => 40: detik
dt.getMilliseconds (); // => 333: milidetik
dt.getday (); // => 4: Nilai hari ini dalam seminggu
dt.gettime (); // => 1419492640333: Mengembalikan nilai milidetik antara objek tanggal dan '1970/01/01 00:00:00' (zona waktu waktu Beijing adalah timur 8, dan waktu mulai sebenarnya: '1970/01/01 08:00:00')
4.2 Set Metode
4.2.1 SetlyEar (tahun, opt_month, opt_date): Tetapkan nilai tahun objek tanggal; 4-bit tahun.
4.2.2 SetMonth (bulan, opt_date): Menetapkan nilai bulan objek tanggal. 0 berarti Januari, 11 berarti Desember.
4.2.3 SetDate (Tanggal): Tetapkan nilai tanggal di bulan objek tanggal; Kisaran nilai adalah 1 ~ 31.
4.2.4 SetHours (jam, opt_min, opt_sec, opt_msec): Atur nilai jam dari objek tanggal.
4.2.5 SetMinutes (min, opt_sec, opt_msec): Mengatur nilai menit dari objek tanggal.
4.2.6 SetSeconds (SEC, OPT_MSEC): Atur nilai kedua dari objek tanggal.
4.2.7 SetMilliseconds (MSEC): Atur nilai milidetik dari objek tanggal.
Contoh:
Salinan kode adalah sebagai berikut:
var dt = tanggal baru ();
DT.SetlyEar (2014); // => 2014: Tahun
dt.setmonth (11); // => 11: bulan; Ini sebenarnya Desember (bulan dihitung dari 0)
dt.setDate (25); // => 25: hari
dt.setHours (15); // => 15:
dt.setminutes (30); // => 30: poin
dt.setseconds (40); // => 40: detik
dt.setmilliseconds (333); // => 333: milidetik
Console.log (DT); // => 25 Desember 2014 15:30:40 detik 333 milidetik
4.3 Metode Lainnya
4.3.1 ToString (): Konversi tanggal menjadi string 'tahun, bulan, hari, jam, menit, dan kedua'
4.3.2 TolocaleString (): Konversi tanggal menjadi string format lokal 'tahun, bulan, hari, jam, menit, dan kedua'
4.3.3 TodateString (): Konversi tanggal menjadi string 'tahun, bulan, hari'
4.3.4 TolocaledateString (): Konversi Tanggal ke String Format Lokal 'Tahun, Bulan dan Hari'
4.3.5 totimestring (): Konversi tanggal menjadi string 'waktu, menit dan kedua'
4.3.6 Tolocaletimestring (): Konversi Tanggal ke String Format Lokal 'Waktu, Menit dan Kedua'
4.3.7 ValueOf (): seperti gettime (), ia mengembalikan nilai milidetik antara objek tanggal dan '1970/01/01 00:00:00' (zona waktu waktu Beijing adalah timur 8, dan waktu awal sebenarnya: '1970/01/01 08:00:00')
Contoh:
Salinan kode adalah sebagai berikut:
var dt = tanggal baru ();
console.log (dt.tostring ()); // => Sel 23 Des 2014 22:56:11 GMT+0800 (Waktu Standar Tiongkok): Konversi Tanggal ke String 'Tahun, Bulan, Hari, Jam, Menit, dan Kedua'
console.log (dt.tolocalestring ()); // => 23 Desember 2014 jam 10:56:11 PM: Konversi Tanggal ke String Format Lokal 'Tahun, Bulan, Hari, Jam, Menit, dan Kedua'
console.log (dt.todateString ()); // => Sel 23 Des 2014: Konversi Tanggal ke String 'Tahun, Bulan, Hari'
console.log (dt.tolocaledateString ()); // => 23 Desember 2014: Konversi Tanggal ke String Format Lokal 'Tahun, Bulan, dan Tanggal'
console.log (dt.toTimestring ()); // => 22:56:11 GMT+0800 (Waktu Standar China): Konversi tanggal menjadi string 'jam, menit dan kedua'
console.log (dt.tolocaletimestring ()); // => 10:56:11 PM: Konversi tanggal menjadi string format lokal 'jam, menit, dan kedua
console.log (dt.valueof ()); // => Mengembalikan nilai milidetik antara objek tanggal dan 1970/01/01 00:00:00 '(zona waktu waktu Beijing adalah timur 8, dan waktu mulai sebenarnya:' 1970/01/01 08:00:00 ')
5. Metode statis
5.1 Date.Now ()
Deskripsi: Mengembalikan nilai milidetik antara objek tanggal dari tanggal dan waktu saat ini dan '1970/01/01 00:00:00' (zona waktu waktu Beijing adalah timur 8, dan waktu mulai yang sebenarnya adalah: '1970/01/01 08:00:00')
Parameter: Tidak ada
Nilai pengembalian:
{int}: Jumlah milidetik antara waktu saat ini dan waktu mulai.
Contoh:
Salinan kode adalah sebagai berikut:
console.log (date.now ()); // => 1419431519276
5.2 Date.parse (DateStr)
Deskripsi: Konversi string ke objek tanggal, dan kemudian kembalikan nilai milidetik antara objek tanggal ini dan '1970/01/01 00:00:00' (zona waktu waktu Beijing adalah timur 8, dan waktu awal sebenarnya: '1970/01/01 08:00:00')
parameter:
①DateTestr {String}: String yang dapat dikonversi menjadi objek tanggal (waktu dapat dihilangkan); Ada dua format utama string:
1) yyyy/mm/dd hh: mm: ss (disarankan): Jika waktu dihilangkan, waktu objek tanggal yang dikembalikan adalah 00:00:00.
2) yyyy-mm-dd hh: mm: ss: jika waktu dihilangkan, waktu objek tanggal yang dikembalikan adalah 08:00:00 (ditambah zona waktu setempat). Jika waktu tidak dihilangkan, string ini mengembalikan Nan (non-nomor) di IE!
Nilai pengembalian:
{int} Mengembalikan jumlah milidetik antara objek tanggal yang dikonversi dan waktu mulai.
Contoh:
Salinan kode adalah sebagai berikut:
console.log (date.parse ('2014/12/25 12:00:00')); // => 1419480000000
console.log (date.parse ('2014-12-25 12:00:00')); // => 1419480000000 (Catatan: Metode konversi ini mengembalikan NAN di IE!)
6. Operasi Praktis
6.1 Konversi tipe dateTime C# ke objek tanggal JS
Catatan: Format yang dikembalikan ke latar depan melalui serialisasi JSON adalah "// Tanggal (1419492640000) //". Angka di tengah mewakili jumlah milidetik antara nilai datetime dan waktu mulai.
Contoh:
Kode Latar Belakang: Ashx Sederhana
Salinan kode adalah sebagai berikut:
public void ProcessRequest (konteks httpcontext) {
System.web.script.serialization.javascriptSerializer js = new System.web.script.serialization.javascriptSerializer ();
Datetime DT = Datetime.parse ("2014-12-25 15:30:40");
string rs = js.serialize (dt); // serialize ke json
Context.Response.ContentType = "Teks/Polos";
Context.Response.write (RS);
}
Kode meja depan:
Salinan kode adalah sebagai berikut:
var datetimeJsonstr = '// date (1419492640000) //'; // C# json format untuk konversi tipe datetime
var msecstr = datetimeJsonstr.toString (). ganti (/// date/(([-]?/d+)/) /// gi, "$ 1"); // => '1419492640000': Dapatkan string milidetik dengan penggantian reguler
var msesint = number.parseInt (msecstr); // Konversi string milidetik ke nilai numerik
var dt = tanggal baru (msesint); // inisialisasi objek tanggal
console.log (dt.tolocalestring ()); // => 25 Desember 2014 jam 3:30:40
6.2 Dapatkan hitungan mundur
Deskripsi: Hitung berapa hari dan perbedaan waktu antara waktu saat ini dan waktu target.
Contoh:
Salinan kode adalah sebagai berikut:
/**
* Kembali ke Countdown
* @param dt {date}: objek tanggal tujuan
* @return {strin}: return countdown: x hari x jam x menit
*/
function getDowntime (dt) {
// 1. Dapatkan hitungan mundur
var intervalmsec = dt - date.now (); // Kurangi waktu saat ini untuk mendapatkan jumlah milidetik dari perbedaan antara keduanya
var intervalsec = intervalmsec / 1000; // Konversi ke detik
var day = parseInt (intervalsec / 3600 /24); // Jumlah hari
var jam = parseInt ((intervalsec - hari * 24 * 3600) / 3600); // Jam
var min = parseInt ((intervalsec - hari * 24 * 3600 - jam * 3600) / 60); // menit
// 2. Jika milidetik dari perbedaan kurang dari 0, itu berarti bahwa waktu tujuan kurang dari waktu saat ini. Nilai-nilai yang diambil pada saat ini semuanya negatif: -x hari-jam menit. Saat ditampilkan, cukup tampilkan yang negatif sebelum jumlah hari.
if (intervalmsec <0) {
jam = 0 - jam;
min = 0 - min;
}
// 3. Sambungkan string dan kembali
var rs = hari + 'hari' + jam + 'jam' + min + 'menit';
mengembalikan Rs;
}
// Waktu Saat Ini: 2014/12/28 13:26
Console.log (GetDowntime (tanggal baru ('2015/06/01'))); // => 154 hari 10:33
Console.log (GetDowntime (tanggal baru ('2014/01/01'))); // => -361 hari 13:26
6.3 Perbandingan ukuran objek 2 tanggal
Catatan: Anda dapat membandingkan jumlah milidetik dari keduanya dan waktu mulai untuk membedakan ukurannya.
Contoh:
Salinan kode adalah sebagai berikut:
var dt1 = tanggal baru ('2015/12/01');
var dt2 = tanggal baru ('2015/12/25');
console.log (dt1> dt2); // => false