How to check if a string is date?

前端 未结 5 2096
渐次进展
渐次进展 2020-12-17 19:39

I am having string like

\"11-04-2015 22:01:13:053\" or \"32476347656435\"

How can I check if string is Date?
Checking String if it is n

5条回答
  •  一向
    一向 (楼主)
    2020-12-17 19:54

    java.time

    It’s about time someone provides the modern answer. The SimpleDateFormat class mentioned in a couple of the other answers is notoriously troublesome and fortunately now long outdated. Instead the modern solution uses java.time, the modern Java date and time API.

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-uuuu HH:mm:ss:SSS");
    
        String stringToTest = "11-04-2015 22:01:13:053";
    
        try {
            LocalDateTime dateTime = LocalDateTime.parse(stringToTest, formatter);
            System.out.println("The string is a date and time: " + dateTime);
        } catch (DateTimeParseException dtpe) {
            System.out.println("The string is not a date and time: " + dtpe.getMessage());
        }
    

    Output from this snippet is:

    The string is a date and time: 2015-04-11T22:01:13.053

    Suppose that instead the string was defined as:

        String stringToTest = "32476347656435";
    

    Now the output is:

    The string is not a date and time: Text '32476347656435' could not be parsed at index 2

    Link: Oracle tutorial: Date Time explaining how to use java.time.

提交回复
热议问题