我正在尝试在java.util.date中转换字符串,但是出现以下错误:
HelloWorld.java:10: error: incompatible types: Date cannot be converted to String
return FORMATTER.parse(date);
^
HelloWorld.java:16: error: incompatible types: String cannot be converted to Date
Date date = convertStringToDate("2015-08-03 09:19:00.000");
我的代码如下:
import java.text.SimpleDateFormat;
import java.util.Date;
public class HelloWorld{
private static final SimpleDateFormat FORMATTER = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
public static String convertStringToDate(String date) {
if(date!=null){
return FORMATTER.parse(date);
}
return null;
}
public static void main(String []args){
Date date = convertStringToDate("2015-08-03 09:19:00.000");
System.out.println(date);
}
}
您指定的格式与数据格式不匹配。
格式"yyyy-MM-dd hh:mm:ss"
与数据不兼容,"2015-08-03 09:19:00.000"
原因有两个:(1)日期中缺少AM / PM,因为“ hh”需要1到12个小时;(2)日期字符串中存在毫秒
替换下面提到的行,您的问题将得到解决。
private static final SimpleDateFormat FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
但是,上述问题均不会导致您收到异常,因为默认情况下会忽略毫秒。
异常的可能的原因是方法“convertStringToDate”的返回类型或hh
具有值超过之间的范围内01
和12
。
String
为Date
hh
为HH
。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句