SimpleDateFormat 「YYYY-MM-dd HH:mm」的日期解析不正確
問題:問題:
問題:問題:
使用SimpleDateFormat,嘗試將「YYYY-MM-dd HH:mm」格式的字串解析為日期會產生錯誤的日期。儘管設定了setLenient(false),結果仍然不準確。造成這種差異的原因是什麼?A:
<code class="java">SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);</code>
問題在於使用的格式字串:「YYYY-MM-dd HH:mm」。解析給定格式的字串的正確格式字串應該是“yyyy-MM-dd HH:mm”,其中“yyyy”表示四位數字的年份。
SimpleDateFormat 的文件指定「the日期部分必須採用JDK 預定義格式之一,時間部分必須採用預定義時間格式之一,且日期和時間之間的分隔符號只能是預先定義分隔符之一。 將格式字串修改為“yyyy-MM-dd HH:mm”,解析應產生正確的日期和時間。以上是為什麼 SimpleDateFormat 無法解析 \'YYYY-MM-dd HH:mm\' 儘管有 `setLenient(false)`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!