我有一个字符串变量,其中包含以下格式的日期和时间
编辑:
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的字符串模式是否正确?如果我错了可以请某位修正我将新日期转换为日期格式。
答案 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);