JQuery'de güncel tarih nasıl alınır?


181

Geçerli tarih yyyy/mm/ddbiçiminde almak için jQuery Date () işlevini kullanmayı bilmek istiyorum .

Yanıtlar:


325

Date()bir parçası değil jQuery, JavaScript'in özelliklerinden biridir.

Date nesnesi ile ilgili belgelere bakın .

Bunu şu şekilde yapabilirsiniz:

var d = new Date();

var month = d.getMonth()+1;
var day = d.getDate();

var output = d.getFullYear() + '/' +
    (month<10 ? '0' : '') + month + '/' +
    (day<10 ? '0' : '') + day;

Bir kanıt için bu jsfiddle'a bakın .

Kod karmaşık bir kod gibi görünebilir, çünkü aylar ve günler daha küçük sayılarla temsil edilmelidir 10(yani dizelerin iki yerine bir karaktere sahip olması gerekir). Karşılaştırma için bu jsfiddle bakın .


2
Bunu bilmiyordum. Geçerli tarih jquery.plz yardım almak için arıyorum.
Sara

Cevabınız için teşekkürler :) Tüm varlığımda hiç yyyy / aa / gg gibi biçimlendirilmiş bir tarih görmemiş olsam da - bu bazı ülkelerde kullanılıyor mu? Ben yyyy-aa-gg ve yyyymmdd
gördüm

1
@Manachi Evet Sri Lanka'da kullanım
Sara

2
Filistin'de de kullanılıyor :)
Nada N. Hantouli

Ayrıca Kore ve Güney Afrika'da yaygın olarak kullanılmaktadır
Muleskinner

132

JQuery kullanıcı arayüzüne (tarih seçici için gerekli) sahipseniz, bu işe yarayacaktır:

$.datepicker.formatDate('yy/mm/dd', new Date());

6
jquery-ui gerektirir
Alex G

1
Evet. JQuery UI kullandım, bu yüzden bu çözüm benim için mükemmel. Teşekkürler.
Chen Li Yong

44

jQuery JavaScript'tir. Javascript DateNesnesini kullanın .

var d = new Date();
var strDate = d.getFullYear() + "/" + (d.getMonth()+1) + "/" + d.getDate();

3
d.getMonth () Ayı döndürür (0-11 arası), bu yüzden yanlış olabilir
Gaurav Agrawal

2
getMonth()arasındaki döner numaraları 0ve 11. Bu oldukça yaygın bir JavaScript hatasıdır. Ayrıca toString()açıkladığınızdan farklı bir şekilde çalışır ( bu jsfiddle ve bu belgeler sayfasına bakın ). Özetle: sağladığınız çözümlerin hiçbiri düzgün çalışmıyor.
Tadeck

1
Hiçbir mazeretim yok, daha önce yaptığım hata ve ondan öğrenmedim! toStringyemin ettim ama jsFiddle'ınızı Chrome ile test ettim ve haklısın. Cevabımdan kaldırıldı. Teşekkürler.
Connell

31

Saf Javascript kullanarak kendi YYYYMMDD biçiminizi prototipleyebilirsiniz ;

Date.prototype.yyyymmdd = function() {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
  var dd  = this.getDate().toString();
  return yyyy + "/" + (mm[1]?mm:"0"+mm[0]) + "/" + (dd[1]?dd:"0"+dd[0]); // padding
};

var date = new Date();
console.log( date.yyyymmdd() ); // Assuming you have an open console

21

JavaScript'te Date nesnesini kullanarak geçerli tarih ve saati alabilirsiniz;

var now = new Date();

Bu, yerel istemci makine zamanını alacak

Jquery LINK örneği

JQuery DatePicker kullanıyorsanız, bunu aşağıdaki gibi herhangi bir metin alanına uygulayabilirsiniz:

$( "#datepicker" ).datepicker({dateFormat:"yy/mm/dd"}).datepicker("setDate",new Date());

Bu tam tarih saat değeri istediğim değil alacak.
Sara

15

Soru şu şekilde etiketlendiğinden JQuery:

Ayrıca kullanıyorsanız JQuery UIkullanabilirsiniz $.datepicker.formatDate():

$.datepicker.formatDate('yy/mm/dd', new Date());

Bu demoya bakın .


15
function GetTodayDate() {
   var tdate = new Date();
   var dd = tdate.getDate(); //yields day
   var MM = tdate.getMonth(); //yields month
   var yyyy = tdate.getFullYear(); //yields year
   var currentDate= dd + "-" +( MM+1) + "-" + yyyy;

   return currentDate;
}

Kullanmak için çok kullanışlı bir işlev, keyfini çıkarın


2
Bu, değeri ayarlamak için güzel çalıştı ve ardından tarih seçiciyi gizlemek için sonraki bir çağrı, her tarayıcıda düzeltti. Temiz!
nicholeous

9

Bkz bu . Yöntem, ifade tarafından döndürülen bir sayı için bir kısaltmadır .
$.now()(new Date).getTime()


9

İşte gün, yıl veya ay geçerli olsun yöntemi

new Date().getDate()          // Get the day as a number (1-31)
new Date().getDay()           // Get the weekday as a number (0-6)
new Date().getFullYear()      // Get the four digit year (yyyy)
new Date().getHours()         // Get the hour (0-23)
new Date().getMilliseconds()  // Get the milliseconds (0-999)
new Date().getMinutes()       // Get the minutes (0-59)
new Date().getMonth()         // Get the month (0-11)
new Date().getSeconds()       // Get the seconds (0-59)
new Date().getTime()          // Get the time (milliseconds since January 1, 1970)


6
//convert month to 2 digits<p>
var twoDigitMonth = ((fullDate.getMonth().length+1) === 1)? (fullDate.getMonth()+1) : '0' + (fullDate.getMonth()+1);

var currentDate =  fullDate.getFullYear()+ "/" + twoDigitMonth + "/" + fullDate.getDate();
console.log(currentDate);<br>
//2011/05/19

6

öğede yalnızca bir sembol olduğunda bu nesne sıfır olarak ayarlanır:

function addZero(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

Bu nesne gerçek tam zamanı, saati ve tarihi ayarlar:

function getActualFullDate() {
    var d = new Date();
    var day = addZero(d.getDate());
    var month = addZero(d.getMonth()+1);
    var year = addZero(d.getFullYear());
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return day + ". " + month + ". " + year + " (" + h + ":" + m + ")";
}

function getActualHour() {
    var d = new Date();
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return h + ":" + m + ":" + s;
}

function getActualDate() {
    var d = new Date();
    var day = addZero(d.getDate());
    var month = addZero(d.getMonth()+1);
    var year = addZero(d.getFullYear());
    return day + ". " + month + ". " + year;
}

HTML:

<span id='full'>a</span>
<br>
<span id='hour'>b</span>
<br>    
<span id='date'>c</span>

JQUERY GÖRÜNÜM:

$(document).ready(function(){
    $("#full").html(getActualFullDate());
    $("#hour").html(getActualHour());
    $("#date").html(getActualDate());
});

MİSAL


6

Geç kaldığımı biliyorum ama tüm ihtiyacın olan bu

var date = (new Date()).toISOString().split('T')[0];

toISOString (), javascript'in yerleşik işlevini kullanır.

cd = (new Date()).toISOString().split('T')[0];
console.log(cd);
alert(cd);


5

Bunu moment.js ile de başarabilirsiniz. Html'nize moment.js dosyasını ekleyin.

<script src="moment.js"></script>

Ve biçimlendirilmiş tarihi almak için komut dosyasında aşağıdaki kodu kullanın.

moment(new Date(),"YYYY-MM-DD").utcOffset(0, true).format();


3

FYI - getDay () size haftanın gününü verecektir ... yani: bugün Perşembe ise, 4 sayısını (haftanın 4. günü olmak üzere) döndürecektir.

Ayın uygun bir gününü almak için getDate () kullanın.

Aşağıdaki örneğim ... (ayrıca tek bir zaman öğesinde baştaki 0 ​​değerini vermek için bir dize doldurma işlevi. (Örneğin: 10: 4: 34 => 10:04:35)

function strpad00(s)
{
    s = s + '';
    if (s.length === 1) s = '0'+s;
    return s;
}

var currentdate = new Date();
var datetime = currentdate.getDate() 
    + "/" + strpad00((currentdate.getMonth()+1)) 
    + "/" + currentdate.getFullYear() 
    + " @ " 
    + currentdate.getHours() + ":" 
    + strpad00(currentdate.getMinutes()) + ":" 
    + strpad00(currentdate.getSeconds());

Örnek çıkışı: 31/12/2013 @ 10:07:49
getDay () kullanılarak, çıkış olur 4 /12/2013 @ 10:07:49


2

JQuery eklentisi sayfası çöktü. Yani elle:

function strpad00(s)
{
    s = s + '';
    if (s.length === 1) s = '0'+s;
    return s;
}

var now = new Date();
var currentDate = now.getFullYear()+ "/" + strpad00(now.getMonth()+1) + "/" + strpad00(now.getDate());
console.log(currentDate );


2
var d = new Date();

var today = d.getFullYear() + '/' + ('0'+(d.getMonth()+1)).slice(-2) + '/' + ('0'+d.getDate()).slice(-2);

Şimdi düzeltildi. d.getMonth () + 1, dizenin önüne '0' eklenmeden önce hesaplanmalıdır (= köşeli ayraçlar arasında ayarlanmalıdır)
Filip

2

Bu size güncel tarih dizesini verecektir

var today = new Date().toISOString().split('T')[0];

1

Bunu yapabilirsiniz:

    var now = new Date();
    dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
     // Saturday, June 9th, 2007, 5:46:21 PM

VEYA gibi bir şey

    var dateObj = new Date();
    var month = dateObj.getUTCMonth();
    var day = dateObj.getUTCDate();
    var year = dateObj.getUTCFullYear();
    var newdate = month + "/" + day + "/" + year;
    alert(newdate);

1

bu kodu kullanabilirsiniz:

var nowDate     = new Date();
var nowDay      = ((nowDate.getDate().toString().length) == 1) ? '0'+(nowDate.getDate()) : (nowDate.getDate());
var nowMonth    = ((nowDate.getMonth().toString().length) == 1) ? '0'+(nowDate.getMonth()+1) : (nowDate.getMonth()+1);
var nowYear     = nowDate.getFullYear();
var formatDate  = nowDay + "." + nowMonth + "." + nowYear;

burada çalışan bir demo bulabilirsiniz


1

Bu sadece jQuery kullanarak geldi. Sadece parçaları bir araya getirmek meselesi.

        //Gather date information from local system
        var ThisMonth = new Date().getMonth() + 1;
        var ThisDay = new Date().getDate();
        var ThisYear = new Date().getFullYear();
        var ThisDate = ThisMonth.toString() + "/" + ThisDay.toString() + "/" + ThisYear.toString();

        //Gather time information from local system
        var ThisHour = new Date().getHours();
        var ThisMinute = new Date().getMinutes();
        var ThisTime = ThisHour.toString() + ":" + ThisMinute.toString();

        //Concatenate date and time for date-time stamp
        var ThisDateTime = ThisDate  + " " + ThisTime;

0
var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getYear();
var today = (day<10?'0':'')+ day + '/' +(month<10?'0':'')+ month + '/' + year;
alert(today);

Bu, yanlış format (d / m / y) dışında temel olarak kabul edilen cevabın bir kopyasıdır
Rob Grzyb

0

Pierre'in fikrini kullanarak yaptığım bir zaman damgası prototipini paylaşmak istedim. Yorum yapmak için yeterli puan yok :(

// US common date timestamp
Date.prototype.timestamp = function() {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
  var dd  = this.getDate().toString();
  var h = this.getHours().toString();
  var m = this.getMinutes().toString();
  var s = this.getSeconds().toString();

  return (mm[1]?mm:"0"+mm[0]) + "/" + (dd[1]?dd:"0"+dd[0]) + "/" + yyyy + " - " + ((h > 12) ? h-12 : h) + ":" + m + ":" + s;
};

d = new Date();

var timestamp = d.timestamp();
// 10/12/2013 - 2:04:19

0

JQuery-ui tarih seçiciyi kullanarak, tarihleri ​​biçimlendirebilmeniz için yerleşik kullanışlı bir tarih dönüşüm rutinine sahiptir:

var my_date_string = $.datepicker.formatDate( "yy-mm-dd",  new Date() );

Basit.


0

Geçerli Tarih biçimini al dd/mm/yyyy

İşte kod:

var fullDate = new Date();
var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1)? '0'+(fullDate.getMonth()+1) : (fullDate.getMonth()+1);
var twoDigitDate = ((fullDate.getDate().toString().length) == 1)? '0'+(fullDate.getDate()) : (fullDate.getDate());
var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
alert(currentDate);

0
function createDate() {
            var date    = new Date(),
                yr      = date.getFullYear(),
                month   = date.getMonth()+1,
                day     = date.getDate(),
                todayDate = yr + '-' + month + '-' + day;
            console.log("Today date is :" + todayDate);

0

Javascript'e bir uzantı yöntemi ekleyebilirsiniz.

Date.prototype.today = function () {
    return ((this.getDate() < 10) ? "0" : "") + this.getDate() + "/" + (((this.getMonth() + 1) < 10) ? "0" : "") + (this.getMonth() + 1) + "/" + this.getFullYear();
}

-3
function returnCurrentDate() {
                var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1) ? '0' + (fullDate.getMonth() + 1) : (fullDate.getMonth() + 1);
                var twoDigitDate = ((fullDate.getDate().toString().length) == 1) ? '0' + (fullDate.getDate()) : (fullDate.getDate());
                var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
                return currentDate;
            }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.