将当前日期与存储日期进行比较

时间:2014-11-25 12:33:24

标签: android date compare

对于我的Android应用中的easteregg,我必须将当前日期与存储日期进行比较 - 我只需要知道它是否是正确的月份。

我知道System.currentTimeMillis()是获取当前时间的最快方式,但现在我需要从中获得当前月份。我避免使用String比较它已知的缺陷。

我糟糕的实施有效,但它看起来并不正确和有效:

if (Integer.parseInt((String) DateFormat.format("MM",System.currentTimeMillis()))==12) //xmas "easteregg"
        xmasBool=true;

还有更优雅的解决方案吗?

3 个答案:

答案 0 :(得分:0)

这是一个更好的解决方案:

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date()); // Date's default constructor gives you current time
xmasBool = calendar.get(Calendar.MONTH) == Calendar.DECEMBER;

答案 1 :(得分:0)

Calendar c = Calendar.getInstance();

int month = c.get(Calendar.MONTH);

现在您可以将变量月份与存储的月份进行比较。

答案 2 :(得分:0)

您可以使用SimpleDateFormat格式化java.Util.Date来比较整个日期的一天或一个月或两者。

EG。

new SimpleDateFormat("dd").format(new java.util.Date())

为您提供“日期”值。同样地,"MM"将为您提供月份。根据您的要求使用这些组合。

以相同的格式存储,您有一个通用的比较标准。