[英]Find pattern of unknown date string
對Java來說還算是新手,但試圖弄清楚如何解決我遇到的問題。 我通讀了許多有關在Java中格式化未知日期/時間的文章,因為我知道您需要首先了解日期的模式,然后才能開始解析日期。 是否可以給定String日期(例如2/21/2019
,此方法將返回此日期字符串的格式。 我發現ofPattern util,但似乎只返回格式的模式,而不是像上面的字符串。
我在尋找類似下面的偽代碼的東西。 如果我能夠返回給定字符串的日期模式,則可以使用SimpleDateFormat動態傳遞模式。
String date = '2/21/2019';
Date datePattern = date.getPattern();
// datePattern would output ""MM/dd/yyyy""
SimpleDateFormat formatter = new SimpleDateFormat(datePattern);
String strDate = formatter.format(date);
再次感謝,
是否可以給定String日期(例如2/21/2019),此方法將返回此日期字符串的格式。
不可以。Java無法解釋字符串的含義。 許多日期字符串格式可能不明確。 是1/2/3
是2003年1月的第二天,2003年2月的第一天還是2001年3月2日?
搜索堆棧溢出。 您會發現許多有關解析各種日期時間格式的字符串的問題和答案,包括我今天寫的答案 。
DateTimeFormatter
對象。 對於任何輸入,請依次嘗試每個格式化程序,直到一個有效為止(不會引發DateTimeParseException
)。 真正的解決方案是教育您的數據發布者有關ISO 8601的問題 。
最后一件事:永遠不要使用SimpleDateFormat
。 可怕的傳統日期時間類在幾年前被現代的java.time類所取代。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.