如何在java中把int转换为日期?[重复]

问题描述 投票:0回答:2

我想把一个int值转换成一个日期。

例如,2020000605是2020-06-05。

这是我的代码,为什么不能用?

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 date-conversion
2个回答
0
投票

我对java中的Date和SimpleDateFormat类了解不多,但无论如何,没有它,这应该是相当容易做到的。

String date_str = ""+value; String formattedDate = date_str.substring(0,4)+"-"+date_str.substring(4,6)+"-"+date_str.substring(6,8);


0
投票

你得到的错误。

Type mismatch: cannot convert from java.util.Date to java.sql.Date

说明你导入了一个错误的 Date 对象。请在类的顶部检查。你将需要替换 import java.sql.Date;import java.util.Date;

© www.soinside.com 2019 - 2024. All rights reserved.