我正在做这个代码:
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
格式化有什么问题?
答案 0 :(得分:3)
您必须指定区域设置:
SimpleDateFormat df = new SimpleDateFormat("MMMM dd, yyyy hh:mmaa", Locale.US);
因为月份的名称取决于它。
答案 1 :(得分:2)
MMMM
- 整月(" 12月和#34;)
MMM
- 短月(" Dec")
h
- 12小时格式的短时(2)
hh
- 12小时格式的2位数小时(02)
始终在您创建SimpleDateFormat
实例时使用区域设置:
SimpleDateFormat df = new SimpleDateFormat("MMM d, yyyy h:mmaa", Locale.US);