startTime
とstartDate
がendTime
とendDate
より小さいかどうかを確認したいアプリを開発しています。その場合は、情報のみをFirebaseDatabase
に保存する必要があります。startTimeとstartDateがendTimeとendDateより小さいかどうかを確認する方法は?
私がチェックするために、このコードを使用していますがstartTime
< endTime
とstartDate
< endDate
です:
public static boolean CheckDates(String d2, String d1) {
SimpleDateFormat dfDate = new SimpleDateFormat("dd-MM-yyyy");
boolean b = false;
try {
if(dfDate.parse(d1).before(dfDate.parse(d2)))
{
b = true;//If start date is before end date
}
else if(dfDate.parse(d1).equals(dfDate.parse(d2)))
{
b = true;//If two dates are equal
}
else if (dfDate.parse(d2).before(dfDate.parse(d1)))
{
b = false; //If start date is after the end date
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return b;
}
このコードはほとんど細かい作業が、私はされています
try {
Date date1 = currentTime.parse(btnChooseStartTime.getText().toString());
Date date2 = currentTime.parse(btnChooseEndTime.getText().toString());
differenceBetweenStartEndTime = date2.getTime() - date1.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
isEndDateGreaterThanStartDate = CheckDates(btnChooseEndDate.getText().toString(), btnChooseStartDate.getText().toString());
if (String.valueOf(differenceBetweenStartEndTime).contains("-")) {
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "Start time is greater than end time. Fix it please.", Snackbar.LENGTH_SHORT);
snackbar.setDuration(3500);
snackbar.show();
progressDialogPostingE.dismiss();
} else if (!isEndDateGreaterThanStartDate) {
Snackbar snackbar = Snackbar
.make(coordinatorLayout, "Start date is greater than end date. Fix it please.", Snackbar.LENGTH_SHORT);
snackbar.setDuration(3500);
snackbar.show();
progressDialogPostingE.dismiss();
} else {
// code for storing information in database
}
ここCheckDates()
方法がありますstartDate = 20-11-2016
とstartTime = 10 AM
と設定してからendDate = 21-11-2016
a nd endTime = 8 AM
の場合、SnackBar
に表示される"Start time is greater than end time. Fix it please."
が表示されます。8 AM
は10 AM
未満ですが、ここでは午前10時は前日、午前8時は翌日です。したがって、SnackBarを表示するのではなく、データベースにデータを格納する必要があります。
何が問題なのですか?これを修正する方法はありますか?
お知らせください。
でてSimpleDateFormatを追加します。私は、データベース内の日付と時間を記憶しています方法を変更する必要がありますか? –
はいこのフォーマットのようにdd-MM-yyyy HH:mm:ssのように保存することができます。 – sasikumar