关于java将String类型的时间字符串转换为Date类型的问题?
出现错误,应该是你运行java的系统的默认时区和运行android的默认时区不一致所致,(确切说是:你java的运行系统的默认时区和"2014-01-16T00:00:00"所需要的时区一致,而android却不是)
如果你在建立DateForma的时候就统一时区的话,就不会出错了,如下:
public class TestDateFormat {
public static void main(String[] args) throws ParseException {
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.CHINA);
Date date = dateFormat.parse("2014-01-16T00:00:00");
System.out.println(date);
}
}
但是同一段代码,如果我把创建DateFormat时用时区修改为其他时区()的Locale.US话,在java中也会出现和你一样的错误
public class TestDateFormat {
public static void main(String[] args) throws ParseException {
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US);
Date date = dateFormat.parse("2014-01-16T00:00:00");
System.out.println(date);
}
}
不兼容 你把那个字符串做下处理,然后再转换。