Tarih ve saatler, web uygulamalarında sıkça karşılaştığımız veri türleridir. Ancak, JavaScript’in yerel tarih ve saat nesneleri ile çalışmak bazen zor ve karmaşık olabilir. Örneğin, tarih ve saatleri biçimlendirmek, geçerlilik kontrolü yapmak, zaman dilimleri arasında dönüştürmek gibi işlemler için ekstra kod yazmak gerekir.
Bu nedenle, tarih ve saatleri kolayca işlemek için moment.js gibi bir kütüphaneye ihtiyaç duyabiliriz. Moment.js, tarih ve saatleri parçalamada, doğrulamada, değiştirmede ve göstermede yardımcı olan popüler bir JavaScript kütüphanesidir. Bu yazıda, moment.js’in ne olduğunu, nasıl kullanıldığını ve hangi özelliklere sahip olduğunu anlatacağız.
Moment.js nedir?
Moment js, tarih ve saatleri işlemek için kullanılan bir JavaScript kütüphanesidir. Moment js ile tarih ve saatleri kolayca oluşturabilir, biçimlendirebilir, doğrulayabilir, değiştirebilir ve gösterebilirsiniz. Moment js, web tarayıcılarında ve Node.js’de çalışabilir. Ayrıca uluslararasılaştırma ve zaman dilimi desteği de sunar.
Moment js’in bazı özellikleri şunlardır:
- Tarih ve saatleri ISO 8601, RFC 2822 veya başka bir biçimde oluşturabilirsiniz.
- Tarih ve saatleri istediğiniz biçimde gösterebilirsiniz. Örneğin, “2023-07-11” yerine “11 Temmuz 2023” veya “2 gün önce” gibi.
- Tarih ve saatleri aritmetik işlemler yaparak değiştirebilirsiniz. Örneğin, bir tarihe 3 gün ekleyebilir veya bir saatten 2 saat çıkarabilirsiniz.
- Tarih ve saatleri geçerli olup olmadığını kontrol edebilirsiniz. Örneğin, “2023-02-29” gibi geçersiz bir tarihi yakalayabilirsiniz.
- Tarih ve saatleri farklı zaman dilimlerine dönüştürebilirsiniz. Örneğin, “2023-07-11T12:00:00+03:00” (Türkiye saati) yerine “2023-07-11T09:00:00Z” (UTC saati) gibi.
Moment.js nasıl kurulur?
Moment js kullanmak için öncelikle kütüphaneyi projenize dahil etmeniz gerekir. Bunun için iki yöntem vardır:
- Script etiketi ile kütüphaneyi web sayfanıza ekleyebilirsiniz. Bu durumda, moment isimli bir global değişken kullanabilirsiniz. Örneğin:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script>
var now = moment(); // şu anki tarih ve saati al
console.log(now.format("YYYY-MM-DD HH:mm:ss")); // biçimlendir ve konsola yaz
</script>
- Npm ile kütüphaneyi Node.js projenize kurabilirsiniz. Bu durumda, moment isimli bir modülü require ile çağırabilirsiniz. Örneğin:
var moment = require("moment"); // modülü çağır
var now = moment(); // şu anki tarih ve saati al
console.log(now.format("YYYY-MM-DD HH:mm:ss")); // biçimlendir ve konsola yaz
Örnek çalışma
Aşağıda yazdığımız kodda, moment.js kütüphanesini kullanarak, anlık tarih ve saat bilgisini bir web sayfasında nasıl gösterebileceğimizi göreceğiz.
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Moment.js Örneği</title>
</head>
<body>
<h1>Moment.js Örneği</h1>
<p id="tarih-saat"></p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script>
// moment.js kütüphanesini sayfaya dahil ettik
var tarihSaat = document.getElementById("tarih-saat"); // paragraf elementini seçtik
var simdi = moment(); // şu anki tarih ve saati aldık
var bicimliSimdi = simdi.format("DD MMMM YYYY, HH:mm:ss"); // tarih ve saati istediğimiz biçimde formatladık
tarihSaat.textContent = "Şu anki tarih ve saat: " + bicimliSimdi; // paragrafın içeriğini değiştirdik
</script>
</body>
</html>
Başka neler geliştirilebilir?
Moment.js kütüphanesini kullanarak tarih ve saatlerle ilgili birçok işlem yapılabilir. Örneğin, moment.js kütüphanesini kullanarak:
- Tarih ve saatleri ISO 8601, RFC 2822 veya başka bir biçimde oluşturabilirsiniz.
- Tarih ve saatleri istediğiniz biçimde gösterebilirsiniz. Örneğin, “2023-07-11” yerine “11 Temmuz 2023” veya “2 gün önce” gibi.
- Tarih ve saatleri aritmetik işlemler yaparak değiştirebilirsiniz. Örneğin, bir tarihe 3 gün ekleyebilir veya bir saatten 2 saat çıkarabilirsiniz.
- Tarih ve saatleri geçerli olup olmadığını kontrol edebilirsiniz. Örneğin, “2023-02-29” gibi geçersiz bir tarihi yakalayabilirsiniz.
- Tarih ve saatleri farklı zaman dilimlerine dönüştürebilirsiniz. Örneğin, “2023-07-11T12:00:00+03:00” (Türkiye saati) yerine “2023-07-11T09:00:00Z” (UTC saati) gibi.
- Tarih ve saatleri karşılaştırabilir veya aralarındaki farkı hesaplayabilirsiniz. Örneğin, iki tarihin aynı gün olup olmadığını veya iki saatin kaç dakika farklı olduğunu bulabilirsiniz.
- Tarih ve saatleri takvim görünümüne dönüştürebilirsiniz. Örneğin, “2023-07-11” yerine “Salı” veya “2023-07-11T12:00:00+03:00” yerine “bugün saat 12:00” gibi.
- Tarih ve saatleri uluslararasılaştırabilirsiniz. Örneğin, tarih ve saatleri farklı dillerde veya farklı biçimlerde gösterebilirsiniz.
Moment.js kütüphanesinin sunduğu tüm yöntemler ve örnekler için adresine bakabilirsiniz.

