使用android中的简单日期格式将String值日期转换为Date

时间:2014-03-04 12:55:22

标签: android datetime simpledateformat date-conversion

我有一个字符串变量,其中包含以下格式的日期和时间

编辑:

String newdate="Tue Mar 04 16:58:00 GMT+05:30 2014";

我需要使用simpledateformat将其转换为此日期格式,如下所示:

Date nd=04-03-2014 16:58:00

但是我不知道使用simpledateformat进行转换的字符串模式。

我已经给出了

 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-dd-MM hh:mm:ss");

但它给了我错误的输出。

simpledateformat sdf的字符串模式是否正确?如果我错了可以请某位修正我将新日期转换为日期格式。

4 个答案:

答案 0 :(得分:2)

尝试使用

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy");

但在转换之前,请在“GMT + 05.30”中的“”上替换“

示例:

    String newdate="Tue Mar 04 16:58:00 GMT+05:30 2014";

    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy");

    try {
     Date d = sdf.parse(newdate);
    } catch (ParseException e) {
        e.printStackTrace();
    }

答案 1 :(得分:0)

尝试

SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-YYYY hh:mm:ss");

答案 2 :(得分:0)

首先,您的日期字符串不正确,应为

String newdate="Tue Mar 04 16:58:00 GMT+05:30 2014";

不是这个......

String newdate="Tue Mar 04 16:58:00 GMT+05.30 2014";

您将点(。)放在GMT+05.30而不是冒号(:) 作为GMT+05:30

现在,请使用此格式......

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");

对于Exmaple:

    Date date;
    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");

    try {
        date = formatter.parse(newdate);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    String convertedDate = new SimpleDateFormat("dd-MM-yyyy HH:mm").format(date);
    Log.i("ConvertedDate", convertedDate);

<强>输出:

03-04 19:39:49.959: I/ConvertedDate(310): 04-03-2014 17:28

答案 3 :(得分:0)

您的日期格式不正确。 试试:

"Tue Mar 04 16:58:00 GMT+05:30 2014";

而不是:

"Tue Mar 04 16:58:00 GMT+05.30 2014";

似乎SimplaDateFormat这个GMT + 05:30部分仅适用于&#39;:&#39;。

你可以解析它:

    String newdate="Tue Mar 04 16:58:00 GMT+05:30 2014";
    SimpleDateFormat sdf=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy" );
    Date  nd =  sdf.parse(newdate);