我有这样的日期字符串值:星期五,2013年9月27日08:29:59 GMT 我需要,以日期格式转换它 我试过这样:
private Date modifyDateLayout(String inputDate) {
DateFormat format = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
format.setTimeZone (TimeZone.getTimeZone ("GMT"));
Date d = null;
try {
d = format.parse(inputDate);
} catch (ParseException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
return d;
}
但它不起作用,e = null 我哪里错了? 谢谢你的帮助
答案 0 :(得分:2)
尝试此功能完美
private Date modifyDateLayout(String inputDate) {
SimpleDateFormat format = new SimpleDateFormat("EEE, dd-MMM-yyyy hh:mm:ss");
format.setTimeZone(TimeZone.getDefault());
Date d = null;
try {
d = format.parse(inputDate);
} catch (ParseException e) {
e.printStackTrace();
}
return d;
}
拨打强>
modifyDateLayout("Fri, 27-Sep-2013 08:29:59 GMT");
答案 1 :(得分:1)
格式应为EEE, dd-MMM-yyyy hh:mm:ss ZZZ
答案 2 :(得分:1)
试试这个
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
System.out.println(format.format(now));
String s = format.format(now);
String result = s.substring(0, 26) + ":" + s.substring(27);
System.out.println("Result: "+result);
答案 3 :(得分:1)
这应该是你的格式。 EEE, dd-MMM-yyyy hh:mm:ss ZZZ
答案 4 :(得分:1)
试试这个......
private Date modifyDateLayout(String inputDate) {
DateFormat format = new SimpleDateFormat("EEE, dd-MMM-yyyy HH:mm:ss z");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
Date d = null;
try {
d = format.parse(inputDate);
} catch (ParseException e) {
e.printStackTrace(); // To change body of catch statement use File |
// Settings | File Templates.
}
return d;
}
答案 5 :(得分:1)
这很有效。只需根据GMT设定时间,它就会给你当地时间。
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class Time {
private Date modifyDateLayout(String inputDate) {
DateFormat format = new SimpleDateFormat ("EEE, dd-MMM-yyyy hh:mm:ss zzz");
format.setTimeZone (TimeZone.getTimeZone ("GMT"));
Date d = null;
try {
d = format.parse(inputDate);
System.out.println(d);
} catch (ParseException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
return d;
}
public static void main(String[] args) {
//new Time().modifyDateLayout("Fri, 27-Sep-2013 08:29:59 GMT");
new Time().modifyDateLayout("Fri, 17-Apr-2015 15:45:59 GMT");
}
}