2012-10-15 18 views
6

Olası Çoğalt iki tarihleri ​​nasıl bulunur:
Calculate date/time difference in javaandroid uygulaması üzerinde farkı ile

Ben Android'de yeni duyuyorum ve benim için yeni bir uygulama yapmak istiyorum. CurrentDate kullanarak iki tarih (gg/aa/yyyy) formatı oluşturmak istiyorum. Örneğin, 01/02/2013 ile currentDate arasındaki günlerin farklarını bulmak istiyorum. Nasıl yapabilirim? Bazı yarar yöntemler sunar Sen DateUtils içine bir göz sürebilir daha detaylı örnek

cevap

19
SimpleDateFormat dfDate = new SimpleDateFormat("dd/MM/yyyy"); 
    java.util.Date d = null; 
    java.util.Date d1 = null; 
    Calendar cal = Calendar.getInstance(); 
    try { 
      d = dfDate.parse("01/02/2012 "); 
      d1 = dfDate.parse(dfDate.format(cal.getTime()));//Returns 15/10/2012 
     } catch (java.text.ParseException e) { 
      e.printStackTrace(); 
     } 

    int diffInDays = (int) ((d.getTime() - d1.getTime())/ (1000 * 60 * 60 * 24)); 
    System.out.println(diffInDays); 

Kontrol Ex1 ve Ex2, fakat sadece gösterimi için, iki tarih arasındaki süreyi geçen hesaplarsak için. Atlama yıllarını, sıçrama saniyelerini, yaz/kış saati değişikliklerini vb. Dikkate almadığından günler/milisaniye arasında geçiş yapmak için doğrudan yaklaşımı kullanmayın. Bu değerlendirmeler Takvim sınıfları tarafından ele alınır.

İhtiyacınız gibi göreli tarih ve saat hesaplamaları gerçekleştirmek için Joda kitaplığını kullanabilirsiniz Güncelleme.

+0

01/02/2013 tarihinde düzeltme tarihi düzeltildi ama benim kodumdaki geçerli tarihi elle düzeltmek istemiyorum. Uygulamayı çalıştırdığımda, sistemden geçerli tarihi almasını ve farklılıkları hesaplamasını istiyorum. Güncel tarihi sistemden nasıl alabilirim ve kodu nasıl düzeltebilirim? –

+0

Kodu değiştirdim, tekrar kontrol edin –

+0

thanx çok fazla. Umarım –

1

için