首頁 > Java > java教程 > 為什麼 SimpleDateFormat 錯誤解析「YYYY-MM-dd HH:mm」?

為什麼 SimpleDateFormat 錯誤解析「YYYY-MM-dd HH:mm」?

Mary-Kate Olsen
發布: 2024-11-03 04:54:30
原創
705 人瀏覽過

Why Does SimpleDateFormat Incorrectly Parse

SimpleDateFormat 錯誤解析「YYYY-MM-dd HH:mm」

嘗試解析格式為「YYYY-MM」的字串時-dd HH:mm" 到日期,一些開發人員遇到意外的日期結果。當使用SimpleDateFormat 類別並將lenient 設定為false 時,會發生這種情況。

以下程式碼片段示範了該問題:

<code class="java">Date newDate = null;
String dateTime = "2013-03-18 08:30";
SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd HH:mm", Locale.ENGLISH);
df.setLenient(false);
try {
    newDate = df.parse(dateTime);
} catch (ParseException e) {
    throw new InvalidInputException("Invalid date input.");
}</code>
登入後複製

此程式碼產生不正確的日期:

Sun Dec 30 08:30:00 EST 2012 (wrong)
登入後複製

要解決此問題,請驗證SimpleDateFormat 模式中指定的年份格式是否為小寫「yyyy」而不是大寫"YYYY."

<code class="java">SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);</code>
登入後複製

透過進行此調整,程式碼將正確解析「YYYY-MM-dd HH:mm」字串。

以上是為什麼 SimpleDateFormat 錯誤解析「YYYY-MM-dd HH:mm」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板