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

  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007
  • The Bad Tutorials

    The Bad Tuto

    6 EKİM 2009
  • TheXiaxue

    TheXiaxue

    3 AĞUSTOS 2009