Moment.js, tarih içeren her türlü web projesi için mükemmel bir javascript kütüphanesidir. Özellikle .net ile javascript arasında veri iletimi olduğu durumlarda tarihsel verileri .net'ten alıp html tarafında istenildiği gibi çıktı alabilen fonksiyonlar sunabilmesi harika oluyor. Madem o kadar övdük, biraz da örnekler verelim moment.js ile neler yapabileceğimize bakalım.
Tarihleri toplamak, gün ya da hafta eklemek:
Örnek: 12 Ocak 2019 tarihine 2 hafta ekleyelim:
HTML:
<span id="cikti"></span>
JS:
var once = moment('2019-12-01');
var sonra = once.add(2, 'week');
sonra.format();
document.getElementById("cikti").textContent=sonra;
//Sun Dec 15 2019 00:00:00 GMT+0300
Örnek: Tarih karşılaştırmaları ile önce mi sonra mı kontrol edelim:
HTML:
<span id="cikti1"></span>
<span id="cikti2"></span>
JS:
var a=moment('2019-11-12').isBefore('2019-12-12'); // true
var b=moment('2019-11-12').isAfter('2020-11-12'); // false
document.getElementById("cikti1").textContent=a;
document.getElementById("cikti2").textContent=b;
Örnek: Belirli bir süre önce gerçekleşmiş olan tarihleri yılsa yıl önce, aysa ay önce, günse gün önce olarak gösteren moment.js humanize fonksiyonu kullanımı
const a = moment.duration(48, 'hours').humanize(); //2 days
const b = moment.duration(720, 'hours').humanize(); // a month
Dolayısıyla farklı büyüklükteki zaman dilimlerini birbirleri oranında yazdırmak için sıfırdan bol if'li javascript fonksiyonlar yazmanıza da gerek kalmamış oluyor.