我希望从日期"找到b / w"的总天数至"迄今为止"。提前致谢
这是我的完整代码
public class Main2Activity extends AppCompatActivity {
EditText ed1,ed2,ed4,ed5,ed6;Button b1; int day_x;int month_x;int year_x;int DIALOG_ID = 1;
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main2); AlertDialog.Builder a_builder = new AlertDialog.Builder(Main2Activity.this);a_builder.setMessage("Please Enter your\n'Name' and 'Date of Birth'.").setCancelable(false).setTitle("Alert!!!").setNegativeButton("ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { dialogInterface.cancel(); }}).show();date_selector(); to_date();final Calendar cal = Calendar.getInstance(); year_x = cal.get(Calendar.YEAR); month_x = cal.get(Calendar.MONTH); day_x = cal.get(Calendar.DAY_OF_MONTH); } public void date_selector() {ed2 = (EditText) findViewById(R.id.editText2); ed5 = (EditText) findViewById(R.id.editText5);ed4 = (EditText) findViewById(R.id.editText4);ed6 = (EditText) findViewById(R.id.editText6);ed1 = (EditText) findViewById(R.id.editText1);ed2.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) {showDialog(DIALOG_ID);
}
}
);
}
@Override
protected Dialog onCreateDialog(int ids) {
if (ids == DIALOG_ID)
return new DatePickerDialog(Main2Activity.this, dickerListener, year_x, month_x, day_x);
return null;
}
private DatePickerDialog.OnDateSetListener dickerListener =
new DatePickerDialog.OnDateSetListener() {
public long dateEvent;
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
year_x = i;
month_x = i1+1 ;
day_x = i2;
ed2.setText((day_x+"/"+month_x+"/"+year_x));//showing DOB
//String stores=ed2.getText().toString();
final Calendar cal = Calendar.getInstance();
int year_y = cal.get(Calendar.YEAR);
int month_y = cal.get(Calendar.MONTH);
int day_y = cal.get(Calendar.DAY_OF_MONTH);
int month_z=month_y+1;
// SimpleDateFormat df = new SimpleDateFormat("dd mm yyyy");
ed5.setText(day_y+"/"+ month_z+"/"+ year_y);
String value = ed2.getText().toString();
ed4.setText(value);
Daysss_check();
}
};
public void Daysss_check() { //total number of days???
ed5 = (EditText) findViewById(R.id.editText5);
ed4 = (EditText) findViewById(R.id.editText4);
ed6 = (EditText) findViewById(R.id.editText6);
ed2 = (EditText) findViewById(R.id.editText2);
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String firstDate = ed2.getText().toString();
String secondDate = ed5.getText().toString();
try {
Date date1 = df.parse(firstDate);
Date date2 = df.parse(secondDate);
long diff = date2.getTime() - date1.getTime();
long diffDays= TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
// float dayCount = (float) diff / (24 * 60 * 60 * 1000);
//String.valueOf((int) dayCount);
String myDaycount = String.valueOf(diffDays);
ed6.setText(myDaycount);
} catch (ParseException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
long diff = date1.getTime() - date2.getTime();
long seconds = diff / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = hours / 24;
请试试这个。希望它能帮到你