首頁 > Java > java教程 > 主體

為什麼 SimpleDateFormat 會為「YYYY-MM-dd HH:mm」字串產生不正確的日期?

Patricia Arquette
發布: 2024-11-02 20:43:02
原創
424 人瀏覽過

Why Does SimpleDateFormat Generate an Incorrect Date for a

SimpleDateFormat 為YYYY-MM-dd HH:mm 字串產生不正確的日期時間

問題:

問題:

解析字串使用SimpleDateFormat的“YYYY-MM-dd HH:mm”格式會產生意外的日期。

<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>
登入後複製

範例:

實際結果:

美國東部時間12 月30 日星期日08:30: 00 2012

預期結果:

2013-03-18 08:30:00

解析度:

解析度:問題出在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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板