SimpleDateFormat 仅限于预定义的日期
SimpleDataFormat is restrict to predefiend dates
我正在执行此代码:
SimpleDateFormat df = new SimpleDateFormat("MMMM dd, yyyy hh:mmaa");
df.setTimeZone(TimeZone.getTimeZone("America/New_York"));
Date parsedDate = df.parse("Dec 19, 2011 2:37pm");
结果:
java.text.ParseException: Unparseable date: "Dec 19, 2011 2:37pm"
据我所知:
Dec 19, 2011 2:37pm
year -> yyyy -> 2011
month -> MMM -> Dec
day in month -> d -> 2
a -> AM/PM -> pm
minute -> mm -> 37
Hour (1-12, AM/PM) -> h -> 3
格式有什么问题?
MMMM
- 整月 ("December")
MMM
- 短月 ("Dec")
h
- 12 小时制的短时制 (2)
hh
- 12 小时制的 2 位小时格式 (02)
并且 始终 在创建 SimpleDateFormat
实例时使用语言环境:
SimpleDateFormat df = new SimpleDateFormat("MMM d, yyyy h:mmaa", Locale.US);
您必须指定语言环境:
SimpleDateFormat df = new SimpleDateFormat("MMMM dd, yyyy hh:mmaa", Locale.US);
因为月份名称取决于它。
我正在执行此代码:
SimpleDateFormat df = new SimpleDateFormat("MMMM dd, yyyy hh:mmaa");
df.setTimeZone(TimeZone.getTimeZone("America/New_York"));
Date parsedDate = df.parse("Dec 19, 2011 2:37pm");
结果:
java.text.ParseException: Unparseable date: "Dec 19, 2011 2:37pm"
据我所知:
Dec 19, 2011 2:37pm
year -> yyyy -> 2011
month -> MMM -> Dec
day in month -> d -> 2
a -> AM/PM -> pm
minute -> mm -> 37
Hour (1-12, AM/PM) -> h -> 3
格式有什么问题?
MMMM
- 整月 ("December")
MMM
- 短月 ("Dec")
h
- 12 小时制的短时制 (2)
hh
- 12 小时制的 2 位小时格式 (02)
并且 始终 在创建 SimpleDateFormat
实例时使用语言环境:
SimpleDateFormat df = new SimpleDateFormat("MMM d, yyyy h:mmaa", Locale.US);
您必须指定语言环境:
SimpleDateFormat df = new SimpleDateFormat("MMMM dd, yyyy hh:mmaa", Locale.US);
因为月份名称取决于它。