【问题标题】:Java 1.3 check date string formatJava 1.3 检查日期字符串格式
【发布时间】:2013-08-09 10:26:14
【问题描述】:

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

"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”要在函数参数中输入。

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

这是一个重复的问题:

Returning a date format from an unknown format of date string in java [duplicate]

Parse any date in Java

【问题讨论】:

  • 您使用的是 Java 1.3?我是认真的吗?
  • @RohitJain Ssssh,你会吓跑 2000 年以来的所有时间旅行者。
  • 1.3 还可以下载吗?
  • 我必须使用它-.-我知道不要问...
  • @devnull Yes it is.

标签: java pattern-matching date-format


【解决方案1】:

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

【讨论】:

  • 嗯,我想了想,我只是在探索网络,如果有解决这个动态的方法......如果没有,我必须做静态的。
  • 静态/动态是什么意思?直到运行时你才会知道,对吧?这是一种适用于您的古董的简单方法。
  • 我的意思是,在知道要插入函数参数的字符串模式之前,我必须放置一个硬编码的字符串模式。
  • 请将mm 更改为MM
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-01
  • 2011-10-06
  • 1970-01-01
  • 2021-08-15
  • 2012-12-30
  • 2023-03-18
相关资源
最近更新 更多