JavaScript'te geçerli tarihi nasıl alırım?
Geçerli tarih ve saati içeren yeni bir Date
nesnesi oluşturmak için new Date()
işlevini kullanın.
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();
today = mm + '/' + dd + '/' + yyyy;
document.write(today);
Bu size bugünün tarihini aa/gg/yyyy biçiminde verecektir.
Basitçe today = mm +'/'+ dd +'/'+ yyyy;
biçimini istediğiniz biçime değiştirin.
GÜNCELLENDİ!, Aşağı Kaydırın
Son kullanıcı için basit ve güzel bir şey istiyorsanız ... Ayrıca, aşağıdaki ilk sürümde küçük bir sonek sorunu düzeltildi. Şimdi düzgün bir şekilde sonek döndürüyor.
var objToday = new Date(),
weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
dayOfWeek = weekday[objToday.getDay()],
domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
curMonth = months[objToday.getMonth()],
curYear = objToday.getFullYear(),
curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;
document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>
UBBER GÜNCELLEMESİ Çok fazla ertelemeden sonra, nihayet GitHubbed ve bunu kendim için kullandığım son çözümle güncelledim. Daha tatlı hale getirmek için bazı son dakika düzenlemeleri bile yapıldı! Eğer eski [jsFiddle'ı arıyorsanız, lütfen şuna bakın][2].
Bu güncelleme 2 çeşitte geliyor, yukarıdaki orijinal cevabım kadar olmasa da yine de nispeten küçük. Son derece küçük istiyorsanız, bununla devam edin.
Ayrıca Not: Bu hala moment.js'den daha az şişirilmiş. Moment.js güzel olsa da, imo, moment'i bir dilmiş gibi öğrenmeyi gerektiren çok fazla seküler yönteme sahiptir. Benimki burada PHP: date ile aynı ortak formatı kullanıyor.
Flavor 1 [
new Date().format(String)
][3] Kişisel Favorim. Tabu olduğunu biliyorum ama Tarih Nesnesi üzerinde harika çalışıyor. Sadece Tarih Nesnesine yapabileceğiniz diğer modların farkında olun.
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
Flavor 2 [
dateFormat(Date, String)
][4] Daha geleneksel hepsi bir arada yöntemi. Bir öncekinin tüm yeteneklerine sahiptir, ancak Date param ile yöntem aracılığıyla çağrılır.
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
BONUS Lezzet (jQuery gerektirir)
$.date(Date, String)
Bu, basit birformat
seçeneğinden çok daha fazlasını içerir. Temel Date nesnesini genişletir veaddDays
gibi yöntemler içerir. Daha fazla bilgi için lütfen Git'e bakın.
Bu modda, biçim karakterleri PHP: date'dan esinlenilmiştir. Tam bir liste için lütfen README'ye bakın.
Bu mod ayrıca çok daha uzun bir önceden hazırlanmış format listesine sahiptir. Önceden hazırlanmış bir formatı kullanmak için anahtar adını girmeniz yeterlidir. dateFormat(new Date(), 'pretty-a');
Fark edebileceğiniz gibi, bir karakterden kaçmak için çift \
kullanabilirsiniz.
Bunu dene:
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")
Sonuç aşağıdaki gibi olacaktır
15/2/2012