我得到的日期和时间存储在String.Below中是存储在字符串中的日期和时间。
String userDateTime = "26-Aug-2014 09.00.00 AM";
我必须将当前日期和时间与存储在String中的日期和时间进行比较,如果日期或时间是过去的日期或时间或等于当前日期和时间,则必须执行一些逻辑。请建议如何将存储在String中的当前日期和时间与系统日期和时间进行比较。 我可以使用java.util.Date但不知道如何与字符串格式进行比较。请提示。
答案 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)进行比较