Eclipse中Java代码报Date、SimpleDateFormat无法解析为类型错误如何解决
问题解决方案
类型无法识别报错的修复
Date和SimpleDateFormat两个类不属于你当前已导入的包范围,这是触发"cannot be resolved to a type"报错的直接原因,需要在文件头部的导入区新增两行导入语句:
import java.util.Date; import java.text.SimpleDateFormat;
添加后即可解决两个类型识别错误。
SimpleDateFormat使用方法修复
SimpleDateFormat的构造方法入参应为日期格式模板,而非具体的时间字符串,你当前传入的"22.09.2021 12:48:34"是具体时间值,不符合参数要求。
如果你的需求是将当前时间格式化为日.月.年 时:分:秒的格式,正确的代码写法如下:
// 构造方法传入格式模板:dd=日 MM=月 yyyy=年 HH=24小时制时 mm=分 ss=秒 SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); // 格式化当前时间 String datVrij = sdf.format(new Date());
如果你的需求是解析固定的"22.09.2021 12:48:34"字符串为Date类型用于后续计算,可以使用parse方法,注意需要捕获或抛出ParseException异常:
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); Date targetDate = sdf.parse("22.09.2021 12:48:34");
完整可运行代码示例
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; // 保留你原有导入的其他包 import java.io.FileInputStream; import java.security.Key; import java.security.KeyStore; import java.security.PrivateKey; import java.security.Signature; import org.apache.commons.codec.digest.DigestUtils; public class InvoiceSerialGenerator { public static void main(String[] args) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); String datVrij = sdf.format(new Date()); // 后续可使用datVrij计算发票序列号 System.out.println("当前格式化时间:" + datVrij); } }
内容的提问来源于stack exchange,提问作者Prothy
相关产品推荐
相关产品推荐

