SORU
29 Mart 2010, PAZARTESİ


JavaScript ile iki tarih arasındaki Ay farkı

Nasıl iki Tarih farkı anlamaya çalışmak istiyorum() tek fark ay sayısını dönüş yaparken JavaScript nesneleri?

Herhangi bir yardım iyi olurdu :)

CEVAP
29 Mart 2010, PAZARTESİ


Tanımı "fark ayların sayısı" yorumu çok tabidir. :-)

Yıl, ay ve JavaScript tarihten itibaren Ayın gün nesne. Aradığınız ne bağlı olarak, bu kaç ay içinde iki nokta arasında olduğunu anlamak için kullanabilirsiniz.

-Manşet kapalı mesela, bu kadar insan bulurtam bir ayiki tarih arasındaki yalan, kısmi aylık (her tarih ay hariç örneğin) saymazsak:

function monthDiff(d1, d2) {
    var months;
    months = (d2.getFullYear() - d1.getFullYear()) * 12;
    months -= d1.getMonth()   1;
    months  = d2.getMonth();
    return months <= 0 ? 0 : months;
}

monthDiff(
    new Date(2008, 10, 4), // November 4th, 2008
    new Date(2010, 2, 12)  // March 12th, 2010
);
// Result: 15: December 2008, all of 2009, and Jan & Feb 2010

monthDiff(
    new Date(2010, 0, 1),  // January 1st, 2010
    new Date(2010, 2, 12)  // March 12th, 2010
);
// Result: 1: February 2010 is the only full month between them

monthDiff(
    new Date(2010, 1, 1),  // February 1st, 2010
    new Date(2010, 2, 12)  // March 12th, 2010
);
// Result: 0: There are no *full* months between them

(JavaScript ay değerler 0 = ocak ile başlamak unutmayın.)

Dahil olmak üzere kesirli aylarda üzerinde çok daha karmaşık, çünkü üç gün içinde tipik bir Şubat ayı daha büyük bir kısmını bu ay (~10.714%) daha üç gün Ağustos (~9.677%), ve tabii ki hatta Şubat bir hareketli hedef olmasına bağlı olarak bir artık yıl.

Ayrıca muhtemelen bu tür şeyler daha kolay hale date and time libraries bazı JavaScript için kullanılabilir vardır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BroadCity

    BroadCity

    10 ŞUBAT 2010
  • Jaclyn W

    Jaclyn W

    5 Mayıs 2006
  • pissengehen

    pissengehen

    26 EYLÜL 2006