Geçerli tarih için komut dosyası. TempusJS - javascript'te tarih ile çalışma

Geçerli tarih ve saati içeren yeni bir Date nesnesi oluşturmak için new Date () öğesini kullanın.

Bunu not et Tarih () argüman olmadan çağrılabilir, eşdeğerdir yeni Tarih (Tarih.now ()) .

Bir tarih nesnesine sahip olduğunuzda, özelliklerini almak için mevcut birkaç yöntemden herhangi birini kullanabilirsiniz (örneğin, 4 basamaklı bir yıl elde etmek için getFullYear ()).

Aşağıda bazı yaygın tarih yöntemleri verilmiştir.

Mevcut yılı al

var yıl = (yeni Tarih()).getFullYear(); konsol.log (yıl); // Örnek çıktı: 2016

Mevcut ayı al

var ay = (yeni Tarih ()) getMonth (); konsol.log (ay); // Örnek çıktı: 0

0 = Ocak olduğuna dikkat edin. Bunun nedeni, aylar arasında 0 önce 11 bu nedenle dizine +1 eklemek genellikle istenir.

Geçerli günü al

var gün = (yeni Tarih()).getDate(); konsol.log (gün); // Örnek çıktı: 31

Geçerli saati al

var saat = (yeni Tarih ()) getHours (); konsol.log (saat); // Örnek çıktı: 10

Mevcut dakikaları al

var dakika = (yeni Tarih ()) getMinutes (); konsol.log (dakika); // Örnek çıktı: 39

Geçerli saniyeyi al

var saniye = (yeni Tarih()).getSeconds(); konsol.log (saniye); // Örnek çıktı: 48

Geçerli milisaniyeyi al

Date nesnesinin bir örneğinin milisaniyesini (0 - 999) almak için getMilliseconds yöntemini kullanın.

Var milisaniye = (yeni Tarih ()) GetMillisaniye (); konsol.log (milisaniye); // Çıktı: şu anda milisaniye

Geçerli saati ve tarihi insan tarafından okunabilir bir dizeye dönüştürün

var şimdi = yeni Tarih (); // tarihi UTC saat dilimi biçiminde bir dizgeye dönüştürün: console.log (now.toUTCString ()); // Çıktı: 21 Haziran 2017 Çarşamba 09:13:01 GMT

Statik Date.now () yöntemi, 1 Ocak 1970 00:00:00 UTC'den bu yana geçen milisaniye sayısını döndürür. Date nesnesi örneğini kullanarak o zamandan bu yana geçen milisaniye sayısını almak için getTime yöntemini kullanın.

// Date console.log'un (Date.now()) şimdi statik yöntemini kullanarak milisaniye alın; // getTime of Date yöntemini kullanarak milisaniye alın instance console.log ((new Date()). getTime());

Bir programcının tarih ve saatlerle çalışmaktan kaçınması nadirdir. Genel olarak, tarih / saat temel kavram ve çoğu dilde bu veri türüyle çalışmak için yerleşik mekanizmalar bulunur. Görünüşe göre JS bir istisna değil, yerleşik bir Tarih türü var, prototipte bir sürü işlev var, ancak ...

kim suçlu
İlk sorun, tarih/saati UTC ve yerel dışında bir saat diliminde ayarlamanız gerektiğinde ortaya çıkar. Date yapıcısının böyle bir parametresi yoktur.

Yeni tarih (); yeni Tarih (değer); yeni Tarih (dateString); yeni Tarih (yıl, ay [, gün [, saat [, dakika [, saniye [, milisaniye]]]]]);
UTC'ye göre bir ofset belirleyebileceğiniz tek seçenek üçüncü yoldur. Oluşturucuyu bu biçimde çağırmak, ofseti dizenin bir parçası olarak iletmenize olanak tanır:

Yeni Tarih ("Paz Şubat 1998 00:00:00 GMT + 0700")
Dize, manuel giriş için çok uygunsuz ve zor olan RFC2822 biçiminde kabul edilir. Kullanıcı girdisinden böyle bir dize almak neredeyse imkansızdır. Bu formatta bir tarih girmeyi kabul edecek birini hayal edemiyorum.

Date'de UTC saat dilimi için tüm parametreleri ayrı ayrı ayarlayabilmenize rağmen - bu sorunu çözmez - saat dilimi yerel kalacaktır. Ancak tek sorun bu değil.

UTC ofseti sabit değildir. Bu, tarih, saatten (veya isterseniz bir zaman damgasından) ve yine bir saat diliminden gelen bir işlevdir. Örneğin, Moskova için en son çeviri şunları verir:

Yeni Tarih (2014, 9, 25, 0, 0, 0); // 26.10.2014, 21:00:00 GMT + 3 yeni Tarih (2014, 9, 27, 0, 0, 0); // 25.10.2014, 22:00:00 GMT + 4
Böylece, ofset önceden bilinmesi gerektiğinden üçüncü seçenekteki kurucu neredeyse işe yaramaz hale gelir. Ve söylendiği gibi, o kadar kolay elde edilemez. Karşılaştığım ve vardiyaları hesaplamak için Olson'un veritabanını kullanan tek kitaplık timezone-JS. Bu kitaplığı kullanmanın sorunu, temel kitaplıkların (tarih/saat seçiciler) bu konuda hiçbir şey bilmemesi ve standart Date'i dahili olarak aktif olarak kullanmasıdır. Date nesnesiyle çalışan kitaplıkların geri kalanı bu tabana açıkça atıfta bulunmaz ve ondan güncellemeler almaz. (Yorumlarda beni düzeltin.)

İş uygulamalarında saat dilimleri ancak tarih ve saat belirtilmişse anlamlıdır. Örneğin, çalışma günü saat 9:00'da başlıyorsa, Vladivostok'taki meslektaşınızın saat 15:00'te çalışmaya başlamasını pek beklemiyorsunuz. Saat dilimleri dikkate alınmamalı ve bu durumda tarih UTC olarak gösterilmelidir. Ancak, farklı zaman dilimlerinde aynı anda meydana gelen düzenli olayların olması durumunda, yine de bir zaman dilimine ihtiyaç duyulur. Örneğin, günlük Scrum'ınız sizin için 10:00'da ve Novosibirsk için 13:00'da başlar. Bu arada, bu tam olarak GMT ve UTC arasındaki farktır. UTC ofsetsiz zamandır ve GMT ofset 0'lı zamandır. Bir örnekle açıklamama izin verin:

31.12.2014 20:59:59 Moskova saat diliminde GMT 31.12.2014 23:59:59 31.12.2014 20:59:59 UTC Moskova saat diliminde 12/ gibi görünmeli 31/2014 20:59 : 59
Bu aritmetik nedeniyle, çoğunlukla kafaları karışır. Ne yazık ki, bu parametre her yerde berbat. JS'de saat diliminin doğrudan bir göstergesinin olmaması, yerel bir saat dilimi olarak yorumlanır ve UTC ile GMT'nin gösterimi eşdeğerdir.

Uluslararası Yapabilirdim ama zorunda değilim. Özellikle böyle bir timeZone parametresi vardır, ancak biraz daha ileride standart şunları tanımlar: Kullanılacak saat dilimi. Gerçekleştirmelerin tanıması gereken tek değer "UTC"dir. Şu anda Chrome dışında başka hiçbir tarayıcı rastgele saat dilimlerini desteklememektedir.
JS'deki zaman aralıkları ile her şey gerçekten kötü - dilde böyle bir şey yok. İyi yapmak istiyorsan, kendin yap.

Ne yapalım
  • Seçenek 1.
    Özel bir saat dilimi kullanmayın. Seçenek tercih edilir ve muhtemelen en acısızdır. Yani, yalnızca yerel saat dilimine ve UTC'ye sahipsiniz. Bu durumlarda, tüm tarayıcılar çok uygun olmasa da her şeye sahip görünüyor. Ayrıca, saat dilimi işletim sistemi için küresel olarak ayarlanır ve belirli bir web uygulaması için bunu değiştirmek koşer değildir.
  • Seçenek 2.
    Rastgele zaman dilimlerine ihtiyaç duyulursa, zaman damgası kullanmayın. Hiç. Tasarruf bankasındaki zamanı, saat dilimiyle birlikte RFC satırında saklayın. Bunun, tarayıcılar arası bir anlayışta saat dilimi kaymalarını yenmeye yardımcı olup olmayacağından emin değilim, ancak en azından Chrome bu tür kaymaların farkında.
  • Seçenek 3.
    Durumlar farklıdır ve zaman herhangi bir cihazdan veritabanına kaydedilir. Yani, bir zaman damgası şeklinde. Koşacak hiçbir yer yok, saati doğru bir şekilde görüntülemek için cihazın saat dilimini veya kullanıcının saat dilimini veya her ikisini de bilmeniz ve tüm vardiyaları elden ele hesaplamanız gerekir. Olson'ın üssünü kullanmadan yapamazsınız.
  • Bu masalın ahlaki değeri bu olmalı, ama ekleyecek başka bir şeyim yok. ECMA standardının taslaklarında herhangi bir ilerleme görmüyorum, muhtemelen de olmayacak.

Bu dersimizde JavaScript Date nesnesini tanıtacağız ve pratikte nasıl kullanılacağını öğreneceğiz.

Tarih oluşturma - 4 örnek

JavaScript'te tarih oluşturma, Date nesnesi kullanılarak yapılır. Date nesnesi, saat eksenindeki bir noktayı temsil eder ve tarih ve saati milisaniye hassasiyetle depolamak için tasarlanmıştır.

JavaScript'te tarih oluşturma örnekleri.

1. Geçerli tarih ve saatin oluşturulması.

JavaScript'te geçerli tarih ve saati alın bir Date nesnesini başlatarak parametre belirtmeden:

// geçerli tarih (Tarih nesnesinin bir örneğinin oluşturulduğu tarihteki tarih ve saat yerel bilgisayar kullanıcı) var şimdi = yeni Tarih (); // örneğin, konsol konsoluna güncel tarihi yazdırın (şimdi);

Yalnızca bugünün tarihini dize biçiminde almanız gerekiyorsa, toLocaleDateString yöntemini kullanabilirsiniz:

Şimdi Var = new Date().ToLocaleDateString(); // 19.12.2019

Kullanıcının geçerli saati şu şekilde elde edilebilir:

Var şimdi = yeni Tarih ().ToLocaleTimeString(); // 11:02:48 var now = new Date().ToLocaleTimeString().Slice (0, -3); // 11:02

Dize biçimindeki tarih ve saat aşağıdaki gibi elde edilebilir:

Şimdi Var = new Date().ToLocaleString(); // 19.12.2019, 11:02:48

2. Date nesnesine 1 Ocak 1970 00:00:00 UTC'den bu yana geçen milisaniye sayısını belirterek bir tarih oluşturun.

// 1 yıl (yüksek hızlı değil) = 365 * 24 * 60 * 60 * 1000 = 31536000000 ms // örneğin, bir tarih 01/01/1971, 00:00:00 UTC oluşturun: var date1 = new Date ( 31536000000);

3. Bir Date nesnesine string olarak belirterek bir tarihin oluşturulması.

Bir tarih oluşturmak için bu seçenekle, JavaScript kendisine iletilen dizeyi anlamaya ve buna dayalı bir tarih oluşturmaya çalışacaktır. JavaScript'te bir dizeyi tarihe dönüştürmek, Date.parse yöntemi kullanılarak yapılır.

Örneğin:

// GG.AA.YY biçiminde bir dizeye dayalı bir tarih oluşturun var date1 = new Date ("05.11.19"); // YYYY-AA-GGTs: aa: ss.sss (T, tarih ve saati ayırmak için kullanılır) biçiminde bir dizeye dayalı bir tarih oluşturun var date2 = new Date ("2015-02-24T21: 23"); // saat dilimini gösteren bir dizeye dayalı bir tarih oluşturun (YYYY-AA-GGTh biçimi: aa: ss.sss ± ss: mm): var date3 = new Date ("2015-02-24T22: 02 + 03: 00 ");

4. Aşağıdaki parametreleri virgülle ayırarak belirterek bir tarih oluşturma: yıl (4 hane), ay (0'dan sayarak), gün (1..31), saat (0..23), dakika (0..59), saniye (0..59), milisaniye (0. . 999). Ayrıca, yalnızca ilk iki parametre gereklidir.

Yalnızca gerekli parametrelerle bir tarih oluşturma örneği:

// 01.01.2015 tarihi oluştur (belirtilmemiş parametreler varsayılan olarak eşittir: sayı - 01, saat - 00, dakika - 00, saniye - 00, milisaniye - 000). var date1 = new Date (2015.01); // tarihi oluştur 01.24.2015, 21:23 var date2 = new Date (2015,01,24,21,23);

Not: Tarih ve saati UTC olarak ayarlamanız gerekiyorsa Date.UTC yöntemini kullanabilirsiniz.

// 1 örnek var tarih1 = Tarih.UTC (2015,1,1); var tarih2 = yeni Tarih (tarih1); uyarı (date2.toUTCString()); // 2. örnek var newDate = new Date (Date.UTC (2015,1,1)); uyarı (newDate.toUTCString());

Bireysel Tarih ve Saat Bileşenlerini Alma

JavaScript, ayrı tarih ve saat bileşenlerini almak için aşağıdaki yöntemleri kullanır:

  • getFullYear () - 4 basamaklı bir yıl döndürür;
  • getMonth () - ayı 0 ile 11 arasında bir sayı biçiminde döndürür (0 - Ocak, 1 - Şubat, 2 - Mart, ..., 11 - Aralık);
  • getDate () - 1'den 31'e kadar ayın gününü döndürür;
  • getHours () - 0'dan 23'e kadar olan saat sayısını döndürür;
  • getMinutes () - 0 ile 59 arasındaki dakika sayısını döndürür;
  • getSeconds () - 0 ile 59 arasındaki saniye sayısını döndürür;
  • getMilliseconds () - 0 ile 999 arasındaki milisaniye sayısını döndürür.

Bu yöntemlerin tümü, ayarlanan saat dilimine göre ayrı tarih ve saat bileşenleri döndürür. yerel cihaz kullanıcı.

// tarihi 11/11/2019 00:00 UTC var newDate = new Date (Date.UTC (2019,11,11)); // kullanıcının cihazındaki yerel saat UTC + 10 ise tarih bileşenlerini al: 00 newDate.getFullYear (); // 2019 newDate.getMonth (); // 10 newDate.getDate(); // 11 newDate.getHours(); // 10 newDate.getMinutes(); // 0 newDate.getSeconds(); // 0 newDate.getMillisaniye (); // 0

Şu anda sahip olduğu zaman aralığına bağlı olarak kullanıcıyı selamlayacağımız bir örnek:

// kullanıcının o anki saatini ve bu zamanın bileşenlerini alın var now = new Date (), saat = now.getHours (), dakika = now.getMinutes (), saniye = now.getSeconds (), mesaj = ""; // kullanıcının yerel saatine göre bir selamlama ifadesi tanımlayın if (saat<= 6) { message = "Доброе время суток"; } else if (hour <= 12) { message = "Доброе утро"; } else if (hour <= 18) { message = "Добрый день"; } else { message = "Добрый вечер"; } // выполним форматирование времени с использованием тернарного оператора minute = (minute < 10) ? "0" + minute: minute; second = (second < 10) ? "0" + second: second; hour = (hour < 10) ? "0" + hour: hour; message += ", сейчас " + hour + ":" + minute + ":" + second; // выведем приветствие и время в консоль console.log(message); // Добрый вечер, сейчас 22:50:39

Bu örnekte saat, üçlü operatör kullanılarak gerekli biçimde görüntülenir.

JavaScript, UTC + 0 saat dilimi için ayrı tarih ve saat bileşenlerini almak için bu yöntemlere benzer özelliklere sahiptir. Bu yöntemler benzer şekilde adlandırılır, ancak "get"ten sonra "UTC" eklenir: getUTCFullYear (), getUTCMonth (), getUTCDate (), getUTCHours (), getUTCMinutes (), getUTCSeconds (), getMillisaniye ().

JavaScript'te haftanın gününü getDay() yöntemini kullanarak alabilirsiniz.

Bu yöntem 0 ile 6 arasında bir sayı döndürür (0 - Pazar, 1 - Pazartesi, ..., 6 - Cumartesi).

Haftanın gününü sayısaldan dize temsiline dönüştürdüğümüz bir örnek:

Var günler = ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"]; // geçerli tarihi al var şimdi = yeni Tarih (); // konsol konsoluna haftanın gününü yazdırın ("Bugün" + günler);

GetTime () yöntemini kullanarak JavaScript'te 01/01/1970 00:00:00 UTC'den bu yana geçen milisaniye sayısını alabilirsiniz.

GetTimezoneOffset () yöntemini kullanarak yerel cihaz saat dilimi ile UTC arasındaki farkı (dakika olarak) JavaScript'te öğrenebilirsiniz.

Bireysel tarih ve saat bileşenlerini ayarlama

JavaScript'te, Date nesnesinde aşağıdaki yöntemleri kullanarak ayrı ayrı tarih ve saat bileşenleri ayarlayabilirsiniz:

  • setFullYear (yıl [, ay, tarih]) - yılı ayarlama (ayrıca başka bir ay ve gün ayarlayabilirsiniz);
  • setMonth (ay [, tarih]) - ayı 0 ile 11 arasında ayarlama (0 - Ocak, 1 - Şubat, 2 - Mart, ..., 11 - Aralık); ek olarak, bu yöntem numarayı ayarlamanıza da olanak tanır;
  • setDate (tarih) - sayının ayarlanması;
  • setHours (saat [, min, sn, ms]) - saati 0'dan 23'e ayarlar (ayrıca dakika, saniye ve milisaniye ayarlayabilirsiniz);
  • setMinutes (min [,) - dakikaları 0 ile 59 arasında ayarlar (ayrıca daha fazla saniye ve milisaniye ayarlayabilirsiniz);
  • setSeconds (sn) - saniyeleri 0'dan 59'a ayarlar (ayrıca daha fazla milisaniye ayarlayabilirsiniz);
  • setMillisaniye (ms) - Milisaniyeyi (0 ila 999) ayarlar.

Bu yöntemlerin tümü, kullanıcının bilgisayarında ayarlanan saat diliminde tarih ve saati ayarlamak için tasarlanmıştır.

// geçerli tarihi içeren bir Date nesnesi örneği oluşturun var newDate = new Date (); // yılı newDate.setFullYear (2019) olarak ayarla; // yılı ve ayı ayarla newDate.setFullYear (2019, 08); // 20.09.2019 newDate.setFullYear (2019, 08, 20) ayarla; // newDate.setMonth (05) ayı ayarla; // ay ve günü ayarla newDate.setMonth (05, 15); // newDate.setDate (28) sayısını ayarlayın; // saati newDate.setHours (13) olarak ayarla; // saat ve dakikayı ayarla newDate.setHours (13,20);

JavaScript'te, UTC + 0 saat diliminde tarih ve saat ayarı şu yöntemler kullanılarak yapılır: setUTCFullYear (), setUTCMonth (), setUTCDate (), setUTCHours (), setUTCMinutes (), setUTCSecondes (), setUTCMillisaniye ().

01/01/1970 00:00:00 UTC'den bu yana geçen milisaniye sayısını kullanarak tarih ve saatin ayarlanması ve ardından setTime () kullanılarak yapılır.

Ayrıca JavaScript'te yanlış tarih ve saat bileşenlerinin belirtilmesi hatalara yol açmaz, bunlar geri kalanı arasında otomatik olarak dağıtılır.

Örneğin:

// 44 numara şu şekilde dağıtılacaktır: 44 - 31 = 13, 13 Şubat 2019 newDate.setFullYear (2019, 01, 44);

Bu teknik, belirli bir süre için verilenden farklı bir tarih almanız gerektiğinde kullanılabilir.

// newDate newDate.setDate'den 7 gün büyük olacak tarih (date1.getDate () + 7); // newDate'den 120 saniye az olacak tarih newDate.setSeconds (date1.getSeconds () - 120); // bu şekilde newDate newDate.setDate (0) için önceki ayın son gününü ayarlayabilirsiniz;

Bir tarihi dizgeye dönüştürmek ve biçimlendirmek

JavaScript'te bir tarihi dizgeye dönüştürme yöntemleri 2 gruba ayrılabilir.

İlk grup, tarayıcıda tanımlandığı gibi bunu yapan yöntemleri içerir: toString (), toDateString (), toTimeString (), toUTCString ().

toString () yöntemi, tam tarih gösterimini, toDateString () - yalnızca tarih, toTimeString () - yalnızca saat, toUTCString () - tam tarih gösterimini, ancak UTC + 0 saat diliminde döndürür.

Çünkü bu yöntemlerin döndürmesi gereken dize temsilleri standartta açıkça tanımlanmamıştır, farklı tarayıcılarda farklılık gösterebilirler.

İkinci gruba yöntemler, yerel bilgisayarın saat dilimi ve dili dikkate alınarak sınıflandırılabilir: toLocaleString () - tarih ve saat, toLocaleDateString () - yalnızca tarih, toLocaleTimeString () - yalnızca saat.

toLocaleString(), toLocaleDateString(), toLocaleTimeString() yöntemlerinin 2 isteğe bağlı parametresi vardır. İlk parametre, yerel ayarı açıkça belirtmek içindir, ikincisi ise biçimlendirme seçeneklerini belirtmek içindir.

Yerel ayar açıkça ayarlanmadıysa veya tanımlanmadıysa, tarayıcı varsayılan olarak yerel olanı alır.

Ayrıca JavaScript'in bir toISOString() yöntemi de vardır. ISO biçiminde tarih ve saati içeren bir dize döndürür (YYYY-AA-GGGTH: aa: ss.sssZ).

// 04/15/2019 18:43:59 (kullanıcının saat diliminde) tarihini oluşturun var newDate = new Date (2019, 03, 15, 18, 43, 59); konsol.log (newDate.toString()); // Pzt 15 Nisan 2019 18:43:59 GMT + 1000 (Vladivostok standart saati) console.log (newDate.toDateString ()); // 15 Nisan 2019 Pzt console.log (newDate.toTimeString ()); // 18:43:59 GMT + 1000 (Vladivostok standart saati) console.log (newDate.toLocaleString ()); // 04/15/2019, 18:43:59 console.log (newDate.toLocaleDateString()); // 04/15/2019 konsol.log (newDate.toLocaleTimeString ()); // 18:43:59 console.log (newDate.toUTCString()); // Pzt, 15 Nisan 2019 08:43:59 GMT console.log (newDate.toISOString ()); // 2019-04-15T08: 43: 59.000Z

Dizeyi tarihe dönüştürme yöntemi

JavaScript, bir dizeyi tarihe dönüştürmek için Date.parse () yöntemini kullanır. Bu yöntem, RFC2822 veya ISO 8601 uyumluysa bir dizeyi dönüştürebilir.

Bu derste, bir dizenin şu biçimde olmasını gerektiren ISO 8601 standardını göz önünde bulundurun: YYYY-AA-GGThh: mm: ss.sssZ.

  • YYYY - 4 basamaklı yıl;
  • MM 2 basamaklı bir aydır (01 = Ocak, 02 = Şubat vb.);
  • DD - 2 basamaktan (01..31) oluşan ayın günü;
  • T - tarih ve saati ayıran karakter;
  • hh - saat sayısı (00..23);
  • mm - dakika sayısı (00..59);
  • ss - saniye sayısı (00..59);
  • sss - milisaniye sayısı (0..999);
  • Z, saatin UTC formatında belirtildiği anlamına gelen bir karakterdir. UTC yerine saat dilimini ayarlamanız gerekiyorsa, "Z" harfi + ss: mm veya -ss.mm değeriyle değiştirilmelidir.

Tarih ve saati içeren dize RFC2822 veya ISO 8601 biçiminde değilse, JavaScript Date.parse () yöntemi yine de onu dönüştürebilir, ancak bu durumda sonuç tahmin edilemez olabilir.

JavaScript'te geçerli tarihi almak çok kolaydır. Date nesnesi bunun içindir. Sözdizimi basittir ve yöntem adları sezgiseldir. Aşağıdaki örneklerde size Date nesnesiyle nasıl çalışacağınızı göstereceğim ( JavaScript yeni tarih) içinde bulunulan yılı, ayı, günü ve saati milisaniye hassasiyetinde almak için!

Geçerli tarihi alma:

JavaScript'te geçerli tarihi almak için, Date nesnesinin yeni bir örneğini oluşturmak üzere new anahtar sözcüğünü kullanın.

var tarih = yeni Tarih (); konsol.log (tarih);

Bu kod, aşağıdaki bilgileri konsola yazdırır:

// 02 Şubat 2016 Salı 15:46:56 GMT-0500 (Doğu Standart Saati)

Haftanın geçerli gününü, geçerli ayı, ayın gününü, yılı ve hatta geçerli saati 24 saat biçiminde görüntüler. parça " GMT"GMT anlamına gelir ve" -0500 "Yerel saat ile GMT arasındaki saat dilimlerindeki farktır.

Wikipedia'dan alıntı: Greenwich Ortalama Saati ( GMT) Greenwich, Londra'daki Kraliyet Gözlemevi'ndeki ortalama güneş zamanıdır. İle bağlantılı evrensel koordineli zaman (UTC). « Doğu standart zamanı"Görüntülenen tarih değeri, tarayıcınızın veya bilgisayarınızın saat dilimini ifade eder.

* Lütfen GMT ve UTC'nin farklı olduğunu unutmayın. UTC değerlerini dakikalar içinde ele alacağız.

* Ayrıca JavaScript'teki tarihin, 01 Ocak 1970 UTC gece yarısından itibaren milisaniye cinsinden zamana dayandığını unutmayın. Bir günde 86.400.000 milisaniye vardır. Bir Date nesnesinin aralığı, 01 Ocak 1970 UTC'ye göre -100.000.000 gün ila 100.000.000 gündür.

* Yukarıdaki yöntem kullanılarak elde edilen değerler cihazınızın sistem ayarlarına bağlıdır. Bilgisayar saat ayarlarını değiştirirseniz, bu yöntemin geri döndüğü saat de değişecektir.

Tamam, yeni Date JavaScript biçimlerini öğrendik ve artık devam etmeye hazırız!

Haftanın gününü almak:

Haftanın gününü almak için yöntemi kullanın JavaScript Tarih Nesnesi getDay():

var gün = tarih.getDay(); konsol.log (gün);

* Haftanın günlerinin 0'dan 6'ya, Pazar = 0, Pazartesi = 1, Salı = 2 vb. şeklinde numaralandırıldığını unutmayın.

Ay almak:

Geçerli yılın geçerli ayını almak için getMonth () yöntemini kullanın. Ondan önce yöntemlerin adlarının sezgisel olduğunu söylemiştim!

var ay = tarih.getMonth(); konsol.log (ay); ///1

* Haftanın günleri gibi ayların da 0'dan 11'e kadar sayısal biçimde döndürüldüğünü unutmayın; Ocak = 0, Şubat = 1, Mart = 2 vb.

Ayın gününü almak:

Ayın gününü almak için GetDate() yöntemini kullanabilirsiniz.

var dayOfMonth = date.getDate(); konsol.log (günAy); // 2

* GetDate () yöntemi, 1'den 31'e kadar numaralandırılmış ayın günlerini döndürür; 1 sayısı ayın ilk gününe karşılık gelir.

zaman alma:

Geçerli saati almak için GetTime() yöntemi kullanılır.

var time = date.getTime(); konsol.log (zaman); // 1454461242058

Görünüyor ... garip ... Ne var? 1 Ocak 1970 00:00:00 UTC'den bu yana geçen milisaniye sayısını görüyorsunuz. Peki kaç yaşında?

1454461242058 ms / yılda 31.540000000 ms = yaklaşık 46 yıl
1970 + 46 yıl = 2016

Emin olmak için kontrol edelim:

var yıl = tarih.getFullYear (); konsol.log (yıl) // 2016

Evet, bu! JavaScript yeni tarihini kullanarak şimdiki tarih ve saati çıkardık.

Web siteleri için bir başka yararlı şey de geçerli tarihin eklenmesidir. İnternette düzinelerce tarih komut dosyası örneği var, ancak bence çoğu ağır ve bu nedenle çirkin. Bu arada, standart araçlar kullanarak JavaScript, bir web sitesi sayfasına tarih eklemek çok kolaydır. Çok sık kullanırım! Resimde (mevcut siteden ekran görüntüsü) emlak "Masal" !

İşte tüm tarih komut dosyası:

Bence daha kolay olamazdı, oldukça güzel ve anlaşılır. Bu betiğin yapısını incelemek istemiyorsanız, HTML sayfasının herhangi bir yerine yapıştırın ve aşağıdaki yazıyı alacaksınız:

Başka bir seçenek daha gelişmiş


! Bugün

Şuna benziyor:

Bugün

Genel olarak, hiçbir beceri gerekmez, sadece aptalca kodu girin ve her şey yolunda!

Daha fazla detay:

Yani, bir değişkene bir tarih değeri atayarak başlıyoruz. NS, ardından diziler oluşturun ( Dizi) haftanın günleri için ( gün) ve aylar ( ay), bunları gerekli gramer biçiminde belirterek: vaka, sayı, büyük harf kelime bir tarihin başındaysa vb. Komut dosyasının son satırı, gerçek tarih baskısıdır ( belge.yaz). Burada, dizede geçerli tarihi neyi ve hangi sırayla görüntüleyeceğinizi ayarlarsınız. Bileşenler birbirinden işaret ile ayrılır. + ... Bir boşluk girmek için yapıyı kullanın " " , ve g (yıl) harfini girmek için - yapı " G."

Komut dosyasından da görebileceğiniz gibi, o anki zaman hakkında veri almak, eleman tarafından gerçekleştirilir. elde etmek... Bu yöntem aşağıdaki bilgileri sağlar:

  • alma tarihi ()- ayın gününü temsil eden 1'den 31'e kadar bir sayı döndürür;
  • getDay ()- haftanın gününü 0 (Pazar) ile 6 (Cumartesi) arasında bir tam sayı olarak döndürür;
  • ay ay ()- yılın ayının numarasını döndürür;
  • getFullYear ()- yılı döndürür. Basitçe kullanmak için getYıl (), ardından cari yıl eksi 1900 görüntülenecektir;
  • Saat almak ()- günün saatini döndürür;
  • getDakika ()- dakikayı 0 ile 59 arasında bir sayı olarak döndürür;
  • getSeconds ()- 0'dan 59'a kadar saniye sayısını döndürür.

Doğrudan yapıştırın Java-script site sayfasının içinde her zaman uygun değildir. Komut dosyası açıklamasını sayfanın en üstüne etiketlerin arasına koymak daha iyidir ve metinde gerektiği gibi arayacağımız bir değişken ayarlayın. diyelim BUGÜN ve yukarıdakine benzer şekilde tarih görüntüleme formunu tanımlayın. Komut dosyası şöyle görünecek:

Tarihi görüntülemek için, aşağıdaki komutu kullanarak sayfanın HTML kodunda doğru yerde komut dosyasını çağırın:

Siteniz, tarihi görüntülemek istediğiniz birçok sayfa içeriyorsa, vurgulamak daha uygundur. Java- içindeki tarihi görüntülemek için komut dosyası ayrı dosya, Örneğin, data.js... Uygulamada, bu, açıklanan komut dosyalarının ilkinden, yani satırdan oluşan bir sayfadır. belge.yaz(yukarıyı görmek). Ana sayfa ile aynı dizinde bulunmalı ve tarih görüntüleme yerinde aşağıdaki şekilde çağrılmalıdır:

Dosyayı kontrol etmeyi unutmayın data.js ana belgeyle aynı kodlamaya sahipti, aksi takdirde tarih harika kancalar, kareler ve diğer ince ayarlarla görüntülenecektir.

Yorum Yap. Açıklanan komut dosyasının, kullanıcının bilgisayarında ayarlanan ve her zaman gerçek zamana karşılık gelmeyen tarihi gösterdiği akılda tutulmalıdır. Tam zamanı göstermeniz gerekiyorsa, sunucudaki zamanı gösterecek bir PHP betiği kullanmanız gerekir.