android - 不同的日期返回相同的天数
问题描述
我在我的新 Java 项目中使用日期转换器,我正在计算两天之间的差异,以便在两天之间进行转换。其他一切工作正常,但我遇到了一个问题:
private long daysBetween(Calendar startDate, Calendar endDate) {
Calendar date = (Calendar) startDate.clone();
long daysBetween = 0;
while (date.before(endDate)) {
date.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
Log.e("Days Between check",daysBetween + "This is the days difference");
return daysBetween;
}
这是我计算两个日期之间天数的函数。日期是从微调器中选择的,我记录了这些值以检查它们。它在 2018/03/31 和 2018/4/1 之前给出了真实的输出,从该函数产生相同的天数。
这是我的其他功能(如果需要):
convertToNepali.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar currentEngDate = new GregorianCalendar();
int engYear = startingEngYearForSelection;
int engMonth = startingEngMonthForSelection;
int engDay = startingEngDayForSelection;
if(yearEngSpinner.getSelectedItem()!=null)
{
engYear = Integer.parseInt(yearEngSpinner.getSelectedItem().toString());
}
if(monthEngSpinner.getSelectedItem()!=null)
{
Date date = null;
Log.e("monthSpinner","I am in month spinner");
try {
date = new SimpleDateFormat("MMMM").parse(monthEngSpinner.getSelectedItem().toString());
Calendar cal = Calendar.getInstance();
cal.setTime(date);
engMonth = Integer.parseInt(String.valueOf(cal.get(Calendar.MONTH)+1));
} catch (ParseException e) {
e.printStackTrace();
engMonth = 1;
Log.e("Error Some Error", e.getMessage());
}
}
if(dayEngSpinner.getSelectedItem()!=null)
{
engDay = Integer.parseInt(dayEngSpinner.getSelectedItem().toString());
}
currentEngDate.set(engYear, engMonth, engDay);
Calendar baseEngDate = new GregorianCalendar();
baseEngDate.set(startingEngYearForSelection, startingEngMonthForSelection, startingEngDayForSelection);
long totalEngDaysCount = daysBetween(baseEngDate, currentEngDate);
String textOfNepaliVersion = convertToNepaliFunction(totalEngDaysCount);
dateConvertedTextView.setText(textOfNepaliVersion);
}
});
解决方案
推荐阅读
- scala - 尝试使用 FLINK 从 s3 读取文件,使用 IDE 获取 Class org.apache.hadoop.fs.s3a.S3AFileSystem not found
- java - 我如何在存款或取款时更新我的余额?
- ktor - Ktor:第一次 call.receiveText() 超时
- python - 在 matplotlib 中的图形之间移动绘图
- javascript - 对 AZURE STORAGE BLOB 中的 GET 容器详细信息进行 REST API 调用时身份验证失败
- android - 我可以在 VpnService 中使用 ConnectivityManager.bindProcessToNetwork() 通过特定网络(移动/WiFi)发送流量吗?
- angular - Angular 9 mat-select 动态内容仅在我单击 mat-select 组件时正确显示
- python - TF.keras.metrics.AUC 不适用于多类
- arrays - 如何从laravel中的数组中填写缺失的日期?
- java - 如何拆分此字符串?