用String比较日期和时间并执行一些逻辑

时间:2014-08-26 12:39:58

标签: java date java-ee

我得到的日期和时间存储在String.Below中是存储在字符串中的日期和时间。

String userDateTime = "26-Aug-2014 09.00.00 AM";

我必须将当前日期和时间与存储在String中的日期和时间进行比较,如果日期或时间是过去的日期或时间或等于当前日期和时间,则必须执行一些逻辑。请建议如何将存储在String中的当前日期和时间与系统日期和时间进行比较。 我可以使用java.util.Date但不知道如何与字符串格式进行比较。请提示。

3 个答案:

答案 0 :(得分:1)

首先使用以下方式将字符串转换为日期:

SimpleDateFormat ss = new SimpleDateFormat("dd-MMM-yyyy HH.mm.ss a");
    String dateInString = "26-Aug-2014 09.00.00 AM";    

    try {
        Date date = ss.parse(dateInString);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
你可以比较日期

答案 1 :(得分:0)

您需要先解析它,然后比较为Date(或Joda DateTime) - 而不是String。除非使用正则表达式实现一些复杂的逻辑,否则无法通过比较字符串实现这一点。

答案 2 :(得分:0)

您可以这样做:

String string = "26-Aug-2014 09.00.00 AM";
Date date = new SimpleDateFormat("d-MMMM-yyyy", Locale.ENGLISH).parse(string);

请参阅BalusC的回答: Java string to date conversion

然后你可以将它们与date.compareTo(otherDate)进行比较