解析String的简单时间

ash*_*thi 4 java

在下面的代码中,我需要获得一个解析异常.但程序以某种方式将其转换为有效的日期.

但是,如果我将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");

    }
Run Code Online (Sandbox Code Playgroud)

Vik*_*dor 10

将df.setLenient()设置为false,以便SimpleDateFormat在这种情况下将抛出parse异常.

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");
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码片段会为该输入打印"parseError".