SORU
29 Temmuz 2009, ÇARŞAMBA


Nasıl JavaScript Tarih nesnesi için 30 dakika eklemek için?

30 dakika sonra başka bir Tarih daha nesnesi bir Tarih almak istiyorum. JavaScript ile bunu nasıl yapacağım?

CEVAP
31 Temmuz 2009, Cuma


Bu bir çizgi chaos's answer gibi ama

var newDateObj = new Date(oldDateObj.getTime()   diff*60000);

diff oldDateObj's zaman. istediğiniz dakika içinde farkı nerede Hatta negatif olabilir.

Ya da yeniden kullanılabilir bir işlevi, eğer birden fazla yerde buna ihtiyacın var gibi:

function addMinutes(date, minutes) {
    return new Date(date.getTime()   minutes*60000);
}

Dikkatli bir kelime

Yukarıda gün eklemek denemek için kullanmayın. Örneğin:

addMinutes(myDate, 60*24); //DO NOT DO THIS

Eğer kullanıcı gözlemler, gün ışığından yararlanma saati, bir gün mutlaka 24 saat uzun bir gün bir yıl sadece 23 saat ve bir gün bir yıl yani 25 saat uzun. Gece yarısı, Kas ve sonra, 24 Amerika Birleşik Devletleri Kanada saat çoğunda, örneğin, 2014 2, hala Nov 2:

addMinutes(new Date(2014,10,2), 60*24); //prints 11pm on Nov 2, not 12am Nov 3!

Bunun yerine, burada yazdığım bu fonksiyonu daha genel bir versiyonu. Sözdizimi MySQL DATE_ADD fonksiyon modellenmiş.

function dateAdd(date, interval, units) {
  var ret = new Date(date); //don't change original date
  switch(interval.toLowerCase()) {
    case 'year'   :  ret.setFullYear(ret.getFullYear()   units);  break;
    case 'quarter':  ret.setMonth(ret.getMonth()   3*units);  break;
    case 'month'  :  ret.setMonth(ret.getMonth()   units);  break;
    case 'week'   :  ret.setDate(ret.getDate()   7*units);  break;
    case 'day'    :  ret.setDate(ret.getDate()   units);  break;
    case 'hour'   :  ret.setTime(ret.getTime()   units*3600000);  break;
    case 'minute' :  ret.setTime(ret.getTime()   units*60000);  break;
    case 'second' :  ret.setTime(ret.getTime()   units*1000);  break;
    default       :  ret = undefined;  break;
  }
  return ret;
}

Working jsFiddle demo.

Eğer tarih bir sürü iş yapıyorsanız, Datejs Moment.js gibi JavaScript kütüphaneleri tarih içine bakmak isteyebilirsiniz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011
  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • Michael Lummio

    Michael Lumm

    25 Mayıs 2007