要计算两个日期之间的天数,并将结果显示到新的EditText中,可以按照以下步骤进行操作:
以下是一个示例代码,演示了如何实现上述功能:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
private EditText startDateEditText;
private EditText endDateEditText;
private EditText resultEditText;
private Button calculateButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startDateEditText = findViewById(R.id.start_date_edittext);
endDateEditText = findViewById(R.id.end_date_edittext);
resultEditText = findViewById(R.id.result_edittext);
calculateButton = findViewById(R.id.calculate_button);
calculateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String startDateString = startDateEditText.getText().toString();
String endDateString = endDateEditText.getText().toString();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date startDate = dateFormat.parse(startDateString);
Date endDate = dateFormat.parse(endDateString);
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(endDate);
long startMillis = startCalendar.getTimeInMillis();
long endMillis = endCalendar.getTimeInMillis();
long diffMillis = endMillis - startMillis;
long diffDays = diffMillis / (24 * 60 * 60 * 1000);
resultEditText.setText(String.valueOf(diffDays));
} catch (ParseException e) {
e.printStackTrace();
}
}
});
}
}
在上述示例代码中,我们通过findViewById()方法获取了布局文件中的EditText和Button控件,并设置了点击事件监听器。当用户点击计算按钮时,我们获取用户输入的起始日期和结束日期,并将其转换为日期对象。然后,使用Calendar类计算两个日期之间的天数差,并将结果显示到新的EditText控件中。
请注意,上述示例代码仅演示了如何计算日期之间的天数差,并将结果显示到新的EditText中。如果需要进一步完善和定制化,可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云