将String转换为日期android?

时间:2018-01-27 12:25:46

标签: android date

我有一个应用程序,其中我以字符串格式从服务器获取日期但我需要将其转换为格式为“dd-mm-yyyy HH:mm”。如何存档让我知道我已经尝试过下面提到了代码。

代码:

String strDate = "2013-05-15T10:00:00-0700";
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
    Date date = null;
    try {
        date = dateFormat.parse(strDate);
        String month = String.valueOf(date.getMonth());
        Log.e(TAG,"Date:"+date);
        Log.e(TAG,"Month:"+month);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    System.out.println(date);

但我的格式是“Wed May 15 10:00:00 GMT + 05:30 2013”​​

3 个答案:

答案 0 :(得分:0)

使用http://www.joda.org/joda-time/中的JodaTime包。 然后:

String dateString = "yourDateString";
DateTime date = new DateTime(dateString);
date.toString("dd-mm-yyyy HH: mm", Locale.getDefault()); // Will print the date in the pattern you just specified

答案 1 :(得分:0)

private String dateString =  "2018-01-24T05:00:00.000Z"; 

formatTimeFromString1(dateString);

private String formatTimeFromString1 (String dateString) {
        try {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS" ); 
            Date date = simpleDateFormat.parse(dateString);
            simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm");
            return simpleDateFormat.format(date);
        } catch (ParseException e) {
        }
        return "";
    }

答案 2 :(得分:0)

此代码段应解决此问题。如果您需要特定时区,可以将其设置为目标格式化程序:

    import java.text.SimpleDateFormat;
    import java.util.TimeZone;
    String strDate = "2013-05-15T10:00:00-0700";
    SimpleDateFormat sourceFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    SimpleDateFormat targetFormat = new SimpleDateFormat("dd-mm-yyyy HH: mm");
    //targetFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
    System.out.println(targetFormat.format(sourceFormat.parse(strDate)));;