android比较2个日期以发现差异
Posted
技术标签:
【中文标题】android比较2个日期以发现差异【英文标题】:android compare 2 dates to find difference 【发布时间】:2012-06-19 12:30:51 【问题描述】:我有一个预订表格,要求用户在日期旁边输入他们的详细信息。 用户不能提交 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 小时 任何帮助将不胜感激
【问题讨论】:
【参考方案1】:日期 date1 = 新日期(毫秒);
日期 date2 = 新日期(毫秒);
if(date1.compareTo(date2)>0)
else if(date1.compareTo(date2)<0)
else
//both are equal
【讨论】:
时间等于日期【参考方案2】:Date date = new Date(long);
if (date.before(other_date))
...
【讨论】:
我的意思是“长”它是一个 Date() 以毫秒为单位或其他日期对象【参考方案3】:使用 SimpleDateFormat 将日期字符串解析为 Date 对象。然后您可以使用这些对象进行比较。
【讨论】:
查看这个问题了解更多信息***.com/questions/3960661/…【参考方案4】:您可以使用 Date 和 DateFormat 将日期字符串解析为 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;
【讨论】:
以上是关于android比较2个日期以发现差异的主要内容,如果未能解决你的问题,请参考以下文章
(Java / Android) 计算两个日期之间的天数并以特定格式呈现结果