1

我有一个日期,它是我从数据库中获取的字符串。

"12-12-2013" // for example

我知道如何在 java 中将其转换为日期类型或以任何我想要的方式更改格式,那里有很多例子。但我找不到的是:

我希望能够找出日期字符串使用的模式我的意思是如果是

"dd-MM-yyyy"
//or
"yyyy-MM-dd"

或者是其他东西。

有没有我不知道或没有找到的例子?

我需要这个,因为我有这个函数来改变字符串的格式:

public static String formatMydate(String datestring, String previousformat, String newformat) {
        
            java.util.Date date= null;
            String response = "";
            SimpleDateFormat formater;
            if (datestring.length()>=10){        
                try {                       
                    formater=new SimpleDateFormat(previousformat);
                    date = formater.parse(datestring);
                    response = new SimpleDateFormat(newformat).format(date);
                } catch (Exception e) {
                    e.printStackTrace();
                    date=null;
                }
            }

            return response.toString(); 
}

但是我想知道,在使用它之前,在函数参数中输入它的“previousformat” 。

有没有办法知道日期使用的是哪种模式?

这是一个重复的问题:

从java中未知格式的日期字符串返回日期格式[重复]

在 Java 中解析任何日期

4

1 回答 1

1

没有简单的通用答案,因为有些地方使用dd-MM-yyyy,有些地方使用MM-dd-yyyy. 如果您只需要区分dd-MM-yyyyand yyyy-MM-dd,请拆分连字符并计算数字。

于 2013-08-09T10:28:06.220 回答