相关疑难解决方法(0)

Java:如何严格解析日期?

SimpleDateFormat是一种非常友好的解析器,可以滚动生成的日期而不是抛出错误.如何在没有正则表达式等的情况下严格解析日期?

fmt = new SimpleDateFormat("dd.MM.yyyy")
fmt.parse("10.11.2012")   // it works
fmt.parse("10.1150.2012") // it works but it's unwanted
Run Code Online (Sandbox Code Playgroud)

java validation parsing date

20
推荐指数
2
解决办法
7856
查看次数

SimpleDateFormat.parse()忽略模式中的字符数

我正在尝试解析日期字符串,该字符串可以具有不同格式的树.即使String不应该与第二个模式匹配,它也会以某种方式返回错误的日期.

那是我的代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Start {

    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
        try{
            System.out.println(sdf.format(parseDate("2013-01-31")));
        } catch(ParseException ex){
            System.out.println("Unable to parse");
        }
    }

    public static Date parseDate(String dateString) throws ParseException{
        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
        SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MM-yyyy");
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd");

        Date parsedDate;
        try {
            parsedDate = sdf.parse(dateString);
        } catch (ParseException ex) {
            try{
                parsedDate = sdf2.parse(dateString);
            } catch (ParseException ex2){
                parsedDate = sdf3.parse(dateString);    
            }
        } …
Run Code Online (Sandbox Code Playgroud)

java parsing date simpledateformat

4
推荐指数
1
解决办法
7234
查看次数

标签 统计

date ×2

java ×2

parsing ×2

simpledateformat ×1

validation ×1