如何在java中将int转换为date?
我想将int值转换为日期 例如,20200605是2020-06-05 这是我的代码,为什么不起作用如何在java中将int转换为date?,java,date,date-conversion,Java,Date,Date Conversion,我想将int值转换为日期 例如,20200605是2020-06-05 这是我的代码,为什么不起作用 public static void main(String[] args) { int value = 19000101; SimpleDateFormat originalFormat = new SimpleDateFormat("yyyyMMdd"); Date date = originalFormat.parse(Integer.toString(value)
public static void main(String[] args) {
int value = 19000101;
SimpleDateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
Date date = originalFormat.parse(Integer.toString(value));
SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd");
String formatedDate = newFormat.format(date);
}
我在这条线上遇到了一个错误
Date date = originalFormat.parse(Integer.toString(value));
错误消息是
类型不匹配:无法从java.util.Date转换为java.sql.Date
我不知道这是什么意思。我对java中的Date和SimpleDataFormat类不太了解,但是如果没有它,这应该很容易做到
字符串日期\u str=”“+值;
字符串formattedDate=date_str.子字符串(0,4)+“-”+date_str.子字符串(4,6)+“-”+date_str.子字符串(6,8);
您得到的错误:
Type mismatch: cannot convert from java.util.Date to java.sql.Date
表示您导入了错误的
日期
对象。请在全班最前面检查。您需要替换import java.sql.Date代码>与导入java.util.Date代码>如果这是您的确切代码,您的意思是它不能编译吗?因为您没有从调用parse
捕获/声明ParseException
。到底是什么不起作用?我运行了代码,它运行正常,并显示了正确的日期。我在这一行中遇到了一个错误。“Date Date=originalFormat.parse(Integer.toString(value));”错误消息是“类型不匹配:无法从java.util.Date转换为java.sql.Date”我不知道这是什么意思,建议您既不要使用SimpleDateFormat
,java.sql.Date
也不要使用java.util.Date
。这些类设计得很糟糕,而且早已过时,第一个类尤其令人讨厌。相反,请使用来自的LocalDate
和DateTimeFormatter
。欢迎使用堆栈溢出。(1) 当询问“为什么它不工作”时,请准确说明问题,包括错误消息和/或stacktrace(如果相关)。。(2) 欢迎稍后添加信息。请在问题本身而不是评论中这样做。