在Android上格式化特定情况下的日期和时间

时间:2012-08-16 21:21:34

标签: java android string date datetime

我已经搜索了很多,但没有任何接缝可以帮助我...我已经用许多资源构建了一个字符串,最终看起来像这样(我使用了一些子字符串方法和类似的东西):

xxxa="16.Aug.2012 07:15:00"

我希望将其解析为日期,以便将其与当前时间进行比较。所以,我使用这些行:

Date datex=null;
DateFormat formatter = new SimpleDateFormat("dd.Mmm.yyyy hh:mm:ss");
try {
            datex = (Date)formatter.parse(xxxa);
            //Log.w("TIME: ", datex.toString());
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

从我的观点来看,这两件事情是匹配的,应该正常解析..还是应该呢?

我总是得到这样的错误:

java.text.ParseException: Unparseable date: "16.Aug.2012 07:00:00" at Java.text.DateFormat.parse(DateFormat.java:626) ........

我试图改变字母的位置,改变某些东西的位置......但仍然不适合。我可以改变那个字符串看起来像什么......我只是希望它看起来像一个实时的,所以我可以比较现在和那个时间......

任何人??

1 个答案:

答案 0 :(得分:3)

根据SimpleDateFormat javadoc

  

M 一年中的一个月

     

m 分钟小时

 String dateStr = "16.Aug.2012 07:15:00";
        Date datex = null;
        DateFormat formatter = new SimpleDateFormat("dd.MMM.yyyy hh:mm:ss");
        try {
            datex = (Date) formatter.parse(dateStr);
            System.out.println(datex);
            //Log.w("TIME: ", datex.toString());
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }