Friday, 6 September 2013

Converting strings to Calendar Dates and finding the Difference Between them

Converting strings to Calendar Dates and finding the Difference Between them

I'm new to android and trying to develope a simple application which in
the user will enter two dates and by clicking a button he will recevie the
difference between them in days. here is my code,unfurtunat÷ly the output
is always 0.Thanks for your help!
package il.ac.hit.datetodate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText ed1 = (EditText) findViewById(R.id.editText1);
final EditText ed2 = (EditText) findViewById(R.id.editText2);
final TextView tv = (TextView) findViewById(R.id.textView2);
final Button bt = (Button) findViewById(R.id.button1);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
SimpleDateFormat sdf1 = new SimpleDateFormat("MMM dd yyyy");
SimpleDateFormat sdf2 = new SimpleDateFormat("MMM dd yyyy");
try {
cal1.setTime(sdf1.parse(ed1.getText().toString()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
cal2.setTime(sdf2.parse(ed2.getText().toString()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long days1 = cal1.getTimeInMillis();
long days2 = cal2.getTimeInMillis();
long diff = (days2 - days1)/(1000*60*60*24);
tv.setText(String.valueOf(diff));
}
});
}
}

No comments:

Post a Comment