我有一张预订表格,要求用户在日期旁边输入他们的详细信息。 用户无法提交24小时内的日期。 必须在24小时后预订。
我该如何实现呢? 我已经获得了当前的日期和时间。
因此,如果当前日期和时间是19062012 1324,则无法在20062012 1324之前预订
我试图做的是:
long mdates = (long) (Long.parseLong(date.getText().toString()));
long mprefered= (long) (Long.parseLong(date2.getText().toString()));
long sub = mprefered - mdates;
if (preferedDateEditText.getText().toString() != null
&& !preferedDateEditText.getText().toString()
.equalsIgnoreCase("") && sub>100000000) {
emailBody += "Prefered date & Time:"
+ preferedDateEditText.getText().toString().trim()
+ "\n sub="+sub;
} else {
errorMessage += "A booking cannot be made within 24 hours.";
}
如果首选日期是01072012 1324,则可以提前24小时接受 任何帮助将不胜感激
答案 0 :(得分:2)
日期date1 =新日期(millis);
日期date2 =新日期(millis);
if(date1.compareTo(date2)>0)
{
}
else if(date1.compareTo(date2)<0)
{
}
else
{
//both are equal
}
答案 1 :(得分:1)
Date date = new Date(long);
if (date.before(other_date)) {
...
答案 2 :(得分:1)
使用SimpleDateFormat将日期字符串解析为Date对象。然后您可以使用这些对象进行比较。
答案 3 :(得分:0)
您可以使用日期和日期格式将日期字符串解析为Date对象,然后使用Date.before(Date)和Date.after(Date)函数进行比较。
public checkTimePassed(String datestring){
DateFormat dfm = new SimpleDateFormat("ddMMyyyy hm");
Date preferred_date = dfm.parse(datestring);
Date now = new Date();
double minimum_time = preferred_date.getTime() + (24 * 60 * 60);
return now.getTime() > minimum_time;
}