在下面的代码中,我需要得到一个解析异常。但程序以某种方式将其转换为有效日期。
但是,如果我将 dthours 设置为“07:0567”,则会出现解析错误。那么如何保持显示的确切格式。
谁能告诉我如果日期字符串偏离给定格式(“HH:MM:SS”)即使是单个字符,该怎么做才能抛出错误。
public static void main(String[] args) {
String dthours="07:4856:35563333";
SimpleDateFormat df = new SimpleDateFormat("HH:MM:SS");
try
{
Date d = df.parse(dthours);
System.out.println("d "+d);
}
catch (ParseException e)
{
System.out.println("parseError");
}
最佳答案
将 df.setLenient() 设置为 false,这样 SimpleDateFormat 将在这种情况下抛出解析异常。
public static void main(String[] args)
{
String dthours = "07:4856:35563333";
SimpleDateFormat df = new SimpleDateFormat("HH:MM:SS");
df.setLenient(false);
try
{
Date d = df.parse(dthours);
System.out.println("d = " + d);
}
catch (ParseException e)
{
System.out.println("parseError");
}
}
上面的代码片段将为该输入打印“parseError”。
关于java - 字符串的简单时间解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072496/