SORU
9 Ocak 2011, Pazar


İki tarih arasındaki ay farkı

C iki tarih arasındaki ay farkı hesaplamak için nasıl*?

Eşdeğer C 3 ** yöntem VB var#. Yıl arayla iki tarih arasındaki ay farkı bulmam gerek. Belgeleri TimeSpan gibi kullanabilirsiniz diyor ki:

TimeSpan ts = date1 - date2;

ama bu bana Gün içinde veri verir.30 tarafından bu sayıyı bölmek istemiyorumher ay iki işlenen değerleri birbirinden oldukça ayrı olduğundan 30 gün olduğu için değil, 30 ile bölünmesi, beni yanlış bir değer verir diye korkuyorum.

Herhangi bir öneriniz var mı?

CEVAP
9 Ocak 2011, Pazar


Ayın gün varsayarak alakasız (2011.1.1 ve 2010.12.31 arasındaki fark nedir yani 1), tarih1 >tarih2 olumlu bir değer ve tarih2 ^ veriyor . tarih1 negatif bir değer

((date1.Year - date2.Year) * 12)   date1.Month - date2.Month

Ya da, 'ortalama aylık iki tarih arasında, aşağıdakilerden ama çok büyük tarih farkları herkes için çalışması gerekir. yaklaşık bir kaç istiyorsun

date1.Subtract(date2).Days / (365.25 / 12)

Eğer ikinci çözüm kullanmak olsaydı not, daha sonra birim testleri için uygulama ile çalışma ve hesaplama sonuçları ve buna göre doğrulamak için tasarlanmış geniş bir tarih aralığı belirtilmelidir.


Güncelleme (Gary sayesinde)

Eğer kullanıyorsanız ortalama aylık yöntem, 'yılda' 365.2425. ortalama bir sayı için kullanmak için biraz daha doğru bir numara

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BuzzFeedVideo

    BuzzFeedVide

    10 AĞUSTOS 2011
  • jesiel santos

    jesiel santo

    15 Ocak 2009
  • Just So

    Just So

    3 HAZİRAN 2007