2015-09-23 2 views
0

Это мой код для расчета интервала между датой события и текущей датой с использованием времени. Здесь я вычисляю интервал, основанный на времени. Я не хочу этого. Я хочу только разницу дней. Я имею в виду, если дата события 25-09-2015 текущая дата: 23-09-2015 Тогда интервал будет 2 дня. Мне нужен этот тип кода. Пожалуйста, помогите мне узнать кодКак найти интервал между двумя датами без использования времени

String eventDate = btn_Date.getText().toString(); 
DateFormat date = new SimpleDateFormat("dd-M-yyyy"); 
Date date1 = date.parse(eventDate); 

Date currentDate = new Date(); 
daysBefore = (int) ((date1.getTime() - currentDate.getTime())/(1000 * 60 * 60 * 24)); 
+0

@prraveen Спасибо –

+0

@ sathyanagaraj19 попробуйте мой ответ. – arun

+0

http://stackoverflow.com/questions/33051535/how-to-display-the-already-while-adding-event-clicked-check-box-while-updating –

ответ

2

Попробуйте это. Здесь я также форматирую currentDate. Это пропускает время, теперь вы можете получить точные оставшиеся дни.

String eventDate = btn_Date.getText().toString(); 
DateFormat date = new SimpleDateFormat("dd-M-yyyy"); 
    try { 
     Date date1 = date.parse(eventDate); 
     Date currentDate = new Date(); 
     currentDate = date.parse(date.format(currentDate)); 
     long difference = date1.getTime() - currentDate.getTime(); 
     long diff = TimeUnit.DAYS.convert(difference , TimeUnit.MILLISECONDS); 
     Log.i("remaining days", diff+ ""); 

    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

OK ... IM TRYING THAT –

+0

Спасибо так много Аруна ... Теперь его работа ... –

+0

может у, пожалуйста, объясните мне ... Что вы сделали в строке 6 .... currentdate –

0

После того, как у вас есть два Date объектов, которые вы можете сделать небольшой метод, который вычисляет его для вас. Что-то вроде этого:

public static long findDayDiff(Date date1, Date date2) { 
    long difference = date2.getTime() - date1.getTime(); 
    return TimeUnit.DAYS.convert(difference , TimeUnit.MILLISECONDS); 
} 
+0

Хорошо спасибо ... Я попробую это и скажу вам –

+0

, это не сработало ... –

+0

Вы называете это 'findDayDiff (currentDate, date1)'? – Rittel

0

попробовать это,

import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Calendar; 
import java.util.Date; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 

public class MyTimeActivity extends Activity 
{ 
    private static final String TAG = "MyTimeActivity"; 

    //Activity 
    private Context mContext; 

    /** 
    * Called when the activity is first created 
    */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     this.mContext = this; 

     Calendar cal1 = stringToCalendar("2012-03-20"); 
     Calendar cal2 = stringToCalendar("2012-03-26"); 
     String elapsedDaysText = getElapsedDaysText(cal1, cal2); 
    } 

    public static Calendar stringToCalendar(String dateString) 
    { 
     Calendar cal = Calendar.getInstance(); 
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
     Date date = new Date(); 
     try 
     { 
      date = sdf.parse(dateString); 
      cal.setTime(date); 
     } 
     catch(ParseException e) 
     { 
      cal = null; 
     } 
     return cal; 
    } 

    public String getElapsedDaysText(Calendar c1, Calendar c2) 
    { 
     long ms1 = c1.getTimeInMillis(); 
     long ms2 = c2.getTimeInMillis(); 
     long ps = (ms2 - ms1)/1000; 
     long elapsedDays = ps/60/60/24; 
     String elapsedDaysText = String.format("%d days ago", elapsedDays); 
     return elapsedDaysText; 
    } 
} 
0

Вы можете найти этот

long days = 0; 
    long seconds = 0; 
     SimpleDateFormat sdf = new SimpleDateFormat(format); 
     try { 
      Date date1 = sdf.parse(firstDate); 
      Date date2 = sdf.parse(nextDate); 
      long diff = date2.getTime() - date1.getTime(); 
      days = diff/(24 * 60 * 60 * 1000); 
      seconds = days *24*60*60 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
+0

он не работал ... Он работает на основе времени –

Смежные вопросы