【发布时间】:2012-11-12 10:26:43
【问题描述】:
我在使用 SimpleDateFormat (java) 将日期时间值转换为预期值时遇到问题,我的预期格式是 MM/yyyy,我想将 2 个值仅转换为 1 种格式
- MM-yyyy 例如 05-2012
- yyyy-MM 例如 2012-05
输出为 05/2012。
我实现了如下所示的东西
String expiry = "2012-01";
try {
result = convertDateFormat(expiry, "MM-yyyy", expectedFormat);
} catch (ParseException e) {
try {
result = convertDateFormat(expiry, "yyyy-MM", expectedFormat);
} catch (ParseException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}
private String convertDateFormat(String date, String oPattern, String ePattern) throws ParseException {
SimpleDateFormat normalFormat = new SimpleDateFormat(oPattern);
Date d = normalFormat.parse(date);
SimpleDateFormat cardFormat = new SimpleDateFormat(ePattern);
return cardFormat.format(d);
}
现在,返回值为6808,不知道为什么。
请任何人帮助我处理此案。
【问题讨论】:
-
如果解析2012-05,真的会尝试第二种方式吗?还是从第一种格式解析并得到错误的结果?您可以在选择格式方法之前在“-”位置设置条件。
-
请接受答案,到目前为止您还没有接受任何答案。
-
我同意@Quoi 你根本不接受任何答案。
-
@AlexandreLavoie:如果我将 2012-01 更改为 2012-05,则输出为
7208而不是
标签: java simpledateformat dataformat