JavaScript'te tarih ve saat nasıl alınır?


JavaScript'te tarih ve saati 31/12/2010 03:55 AM formatında nasıl alabilirim?

Cevap #1

Anlamsal olarak, muhtemelen tek satırlık olanı arıyorsunuz

new Date().toLocaleString()

tarihi kullanıcının yerel ayarına göre biçimlendirir.

Gerçekten tarihleri belirli bir şekilde biçimlendirmek istiyorsanız, moment.js kütüphanesini tavsiye ederim.

Cevap #2

Eğer format "sabit" ise yani farklı bir format kullanmanız gerekmiyorsa, tarihi formatlamak için tüm kütüphaneyi kullanmak yerine saf JavaScript kullanabilirsiniz:

//Pad given value to the left with "0"
function AddZero(num) {
    return (num >= 0 && num < 10) ? "0" + num : num + "";
}

window.onload = function() {
    var now = new Date();
    var strDateTime = [[AddZero(now.getDate()), 
        AddZero(now.getMonth() + 1), 
        now.getFullYear()].join("/"), 
        [AddZero(now.getHours()), 
        AddZero(now.getMinutes())].join(":"), 
        now.getHours() >= 12 ? "PM" : "AM"].join(" ");
    document.getElementById("Console").innerHTML = "Now: " + strDateTime;
};
<div id="Console"></div>

Değişken strDateTime istediğiniz formatta tarih/saat bilgisini tutacaktır ve gerekirse bunu oldukça kolay bir şekilde ayarlayabilmelisiniz.

Ben sadece iyi bir uygulama olarak join kullanıyorum, fazlası değil, stringleri birleştirmekten daha iyi.

Cevap #3

var now = new Date();

now.format("dd/MM/yyyy hh:mm TT");

Tüm detayları burada alın: Flagrant Badassery » JavaScript Tarih Formatı

Cevap #4

Bu sorunun neredeyse on yıl önce sorulduğunu ve birkaç kez yanıtlandığını fark ediyorum, ama aynı soruyla burada hâlâ karşılaştığım için, paylaşmaya değer bulduğum bazı cesaret verici çözümler buldum:

var jsonDate       = (new Date()).toJSON(); // "2021-08-16T16:31:53.596Z"
var localeDateTime = (new Date()).toLocaleString(); // "8/16/2021, 11:40:57 AM"
var localeDate     = (new Date()).toLocaleDateString(); // "8/16/2021"
var localeTime     = (new Date()).toLocaleTimeString(); // "11:37:13 AM"

console.log(jsonDate);
console.log(localeDateTime);
console.log(localeDate);
console.log(localeTime);

Referans

Cevap #5

Date().toLocaleString() şunu döndürür: 31.07.2018, 12:58:03

Oldukça yakın - sadece virgülü ve saniyeleri atın:

new Date().toLocaleString().replace(",","").replace(/:.. /," ");

Sonuçlar: 31.07.2018 12:58 ÖS

Cevap #6

bunu dene:

var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
var time = today.getHours()+':'+today.getMinutes()+':'+today.getSeconds();
console.log(date + ' '+ time);

İlgili makaleler