我有这个格式的日期(2012-11-17T00:00:00.000-05:00)。我需要将日期转换成这种格式MM/YYYY。
我试过这个方法,但我得到了这个例外。
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
at java.text.DateFormat.format(Unknown Source)
at java.text.Format.format(Unknown Source)
at DateParser.main(DateParser.java:14)
请看下面我的代码:
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateParser {
public static void main(String args[]) {
String MonthYear = null;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("mm/yyyy");
String dateformat = "2012-11-17T00:00:00.000-05:00
MonthYear = simpleDateFormat.format(dateformat);
System.out.println(MonthYear);
}
}
dateformat.format
仅适用于date
值。
您应该使用两个SimpleDateFormat对象:一个用于解析,一个用于格式化。例如:
// Note, MM is months, not mm
DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US);
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
String inputText = "2012-11-17T00:00:00.000-05:00";
Date date = inputFormat.parse(inputText);
String outputText = outputFormat.format(date);
编辑:注意,您很可能希望在格式中指定时区和/或区域设置,并且您还应该考虑使用Joda time而不是所有这些--这是一个更好的日期/时间API。
问题内容: 我用这种格式记录日期 我需要将其转换为 我尝试过这种方式 但是我在运行时遇到这个异常 谁能帮我解决这个问题。 问题答案: 试试这个 另外,请注意这是几分钟,而几个月是。
我有一个yyyyMMdd格式的字符串,我想要DD.MM.YYYY 我的代码出现了这个错误 java.lang.IllegalArgumentException:无法将给定对象格式化为日期 有人帮忙吗?
IllegalArgumentException:无法将给定对象格式化为日期 这里会出什么问题?
我想格式化一个日期,使用 但我有个错误:
我有一个实体日期属性:
我想DateFormat应该也来自某个谷歌软件包,但找不到哪里。