Bu yedek kitaplıklardan biriyle JavaScript'in yerleşik tarih ve saat özelliklerinin ötesine geçin.

Tarih işleme için JavaScript'in yerleşik desteği yararlıdır, ancak kullanımı garip olabilir. Saat dilimi dönüştürmeleri ve tarih biçimlendirme gibi karmaşık işlemler genellikle zordur.

Şans eseri, JavaScript'te tarih ve saatlerle çalışmayı daha az stresli hale getiren çeşitli paketler mevcuttur. Burada, bu paketlerden bazılarını ve bu paketler üzerinde çalışmaya nasıl başlayabileceğinizi öğreneceksiniz.

Tarihler ve saatlerle çalışmaya gelince, yerel JavaScript Date nesnesi sınırlı işlevselliğe sahiptir.

Bir JavaScript kitaplığı olan Moment.js, yerel Date nesnesinde bulunmayan birçok özelliği tanıttı. Sonuç olarak, tarihler ve saatlerle çalışmak için başvurulacak kitaplık haline geldi.

Moment.js'yi npm ile yüklemek için proje dizininizden aşağıdaki komutu çalıştırın:

npm düzenlemek an

Kurulumdan sonra, Moment.js'yi projenize aktarabilir ve kütüphane ile işlemler gerçekleştirebilirsiniz:

sabit an = gerekmek('an');
sabit şimdi = an();
sabit şimdiDizesi = şimdi.format('YYYY-AA-GG SS: dd: ss');
instagram viewer

konsol.kayıt(`Geçerli tarih ve saat ${nowString}`);

Bu kod parçacığı, Moment.js kitaplığını içe aktarır ve geçerli tarih ve saati kullanarak bir moment nesnesi oluşturur. an() işlev. Daha sonra, oluşturulan tarih nesnesinin bir dize olarak nasıl biçimlendirileceğini gösterir. biçim() bağımsız değişkeni olarak tarih/saat biçimini alan yöntem.

Zaman aralıklarını eklemek ve çıkarmak için bu kütüphaneyi de kullanabilirsiniz:

sabit addTenMinutes = an().add(10, 'dakika');
konsol.kayıt(`${addTenMinutes.format('s: mm bir')}`);

sabit subtractTwoDays = moment().subtract(2, "günler");
konsol.kayıt(`${subtractTwoDays.format('dddd, AAAA Yap YYYY')}`);

Program, farklı biçimlerde iki değişkeni konsola kaydeder. İlk, onDakika ekle, geçerli tarih ve saate 10 dakika ekleme sonucunu tutar. İkinci, iki gün çıkar, iki gün çıkarılmış olarak geçerli tarih ve saat değerine sahiptir.

Moment.js, artık yılları kontrol etme ve bir tarih biçiminden diğerine dönüştürme gibi diğer işlemleri gerçekleştirebilir.

Moment.js'nin artık çekirdek geliştirici ekibi tarafından korunmadığına dikkat etmek önemlidir. Geliştiriciler, Luxon.js gibi bir alternatif kullanmanızı tavsiye ediyor.

Luxon.js, tarihlerle çalışmak için sağlam ve daha modern bir JavaScript kitaplığıdır. Moment.js'ye bir alternatif olarak, değişkenlik gibi eski kitaplığın sınırlamalarını giderir.

Luxon'u npm ile kurabilir ve ardından içe aktarabilirsiniz. TarihSaat sınıfını Node.js projenizde kullanarak gerekmek() işlev:

sabit { TarihSaat } = gerekmek("lüks");

Luxon'da DateTime nesneleri, milisaniyelere kadar inen zaman örneklerini ifade eder.

yeni oluşturabilirsiniz TarihSaat nesneleri ve yıl, ay, dakika ve saniye gibi bileşenlerine erişin:

sabit şimdi = DateTime.now();
sabit yıl = şimdi.yıl;
sabit dakika = şimdi.dakika;
sabit saniye = şimdi.saniye;

Bu kod yeni bir oluşturur TarihSaat kullanarak geçerli tarih ve saati temsil eden nesne Şimdi() yöntem. Daha sonra o tarihin bileşenlerine erişir. yıl, dakika, Ve ikinci özellikler.

Luxon.js ve Moment.js arasındaki en büyük fark, değişmez karakteridir. Tüm DateTime nesneleri Luxon'da sabittir, yani DateTime özelliklerini değiştiremezsiniz. Bunun yerine, mevcut olanlardan yeni DateTime örnekleri oluşturabilirsiniz.

Örneğin:

sabit şimdi = DateTime.now();
sabit yarın = şimdi.artı({ günler: 1 });

Bu kod yeni bir oluşturur TarihSaat adlı nesne Yarın göre Şimdi kullanarak, nesne artı yöntemi, bağımsız değişken olarak 1 gün değerini ileterek. plus yöntemi, orijinal nesneye belirtilen sayıda gün eklenmiş yeni bir DateTime nesnesi oluşturur.

Luxon.js'nin bir başka avantajı da, modern web uygulamalarında tarih ve saatlerle çalışmak için gerekli olan güvenilir saat dilimi desteğidir. kütüphane kullanır Uluslararasılaştırma API'sı doğru saat dilimi desteği sağlamak için modern tarayıcılarda.

Ancak, Luxon.js'nin dezavantajlarından biri sınırlı topluluk kaynaklarıdır.

Date-fns, tarihler ve saatlerle çalışmak için tasarlanmış çok hafif bir JavaScript kitaplığıdır. Yerel JavaScript Nesnesi üzerine kuruludur.

Date-fns kullanımları fonksiyonel programlama teknikleri ve tarihlerle çalışmayı kolaylaştıran ve kodunuzdaki hata olasılığını azaltan sabit bir özellik içerir.

Date-fns'yi npm ile kurduktan sonra, require işlevini kullanarak paketi programınıza alın:

sabit { format, gün ekle } = gerekmek("tarih-fns");

Date-fns modülerdir. Yukarıdaki kod bloğunda gösterildiği gibi, paketin yapısını bozarak erişebileceğiniz birçok işlev içerir. Kod, date-fns kitaplığından yalnızca format ve addDays işlevlerini içe aktarır.

İşte bu iki işlevin nasıl kullanılacağına bir örnek:

sabit bugün = yeniTarih();
sabit formattedDate = format (bugün, 'yyyy-AA-gg');
konsol.log (biçimlendirilmişTarih);

sabit yarın = biçim (günleri ekle (bugün, 1), 'yyyy-AA-gg');
konsol.log (yarın);

Bu program, tarihleri ​​biçimlendirmek ve değiştirmek için JavaScript'te date-fns kitaplığının kullanıldığını gösterir.

Yeni oluşturur Tarih geçerli tarihi temsil eden nesne. Geçerli tarihi kullanarak biçimlendirir. biçim date-fns kitaplığından işlev.

Daha sonra kullanır gün ekle yarının tarihini temsil eden yeni bir Date nesnesi oluşturmak için işlev, onu kullanarak biçimlendirir. biçim işlevini kullanır ve hem o anki tarihi hem de yarının tarihini konsola "yyyy-AA-gg" biçim.

Date-fns kullanmanın bir dezavantajı, saat dilimi desteği sağlamamasıdır. Bunun yerine, yardımcı işlevleri kullanarak saat dilimleriyle çalışmak için ayrı bir kitaplık kullanır.

Moment.js'ye değişmez, daha küçük ve daha hızlı bir alternatif arıyorsanız, çok hafif bir kitaplık olan Day.js iyi bir seçimdir.

Aşağıdaki npm komutunu çalıştırarak Day.js'yi JavaScript projenize bir paket olarak kurabilirsiniz:

npm düzenlemek günler

Kurulumdan sonra Day.js'yi projenize aktarmak için aşağıdaki kodu kullanabilirsiniz:

sabit gün = gerekmek('günler')

İşte Day.js'de bulunan bazı temel işlevler ve yöntemler

sabit şimdi = dayjs();

sabit tarih = günjs('2023-03-23', "YYYY-AA-GG");

sabit ay = tarih.ay();

sabit formattedDate = tarih.format("AAAA G, YYYY");

sabit sonraki Hafta = tarih.ekle(1, 'hafta');

Yukarıdaki kod, geçerli tarih ve saati temsil eden yeni bir Day.js nesnesi oluşturur, özel bir biçimde bir tarih dizesini ayrıştırır ve ayı tarih değişken. Ayrıca, bir tarih örneğinin nasıl biçimlendirileceğini ve ekleneceğini de gösterir.

Date-fns gibi Day.js de kendi başına saat dilimi desteği sağlayamaz. Day.js, kullanımı kafa karıştırıcı hale getiren bir eklenti sistemi kullanır.

Kapsanan paketler arasında Moment.js'ye en çok benzeyen Day.js'dir. Bu, ihtiyacınız olduğunda ikisi arasında geçiş yapmayı kolaylaştırır.

Uygulamanız için Doğru Kitaplığı Seçmek

JavaScript uygulamanız için doğru tarih ve saat kitaplığını seçmek, kodunuzun kalitesi ve sürdürülebilirliği üzerinde büyük etkisi olabilecek önemli bir karardır.

Burada tartışılan kitaplıkların her birinin güçlü ve zayıf yönleri vardır, bu nedenle bir karar vermeden önce gereksinimlerinizi dikkatlice değerlendirmeniz önemlidir.