java - 格式化日历对象时出现非法参数异常

标签 java android calendar simpledateformat

我有一个日历对象,我想以这种格式显示它:“year.month.day hour.min.sec TimeZone”

我编写了以下几行代码,但最后一行抛出 IllegalArgumentException。

我不知道我的问题出在哪里。任何建议将不胜感激。谢谢。

Calendar date = Calendar.getInstance(TimeZone.getDefault());
SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss Z");
String bookingDate = formatter.format(date);

==========

更新

==========

日志:

> 09-30 11:19:47.205: E/AndroidRuntime(19285): FATAL EXCEPTION: main
> 09-30 11:19:47.205: E/AndroidRuntime(19285): Process:
> com.passenger, PID: 19285 09-30 11:19:47.205:
> E/AndroidRuntime(19285): java.lang.IllegalArgumentException: Bad
> class: class java.util.GregorianCalendar 09-30 11:19:47.205:
> E/AndroidRuntime(19285):  at
> java.text.DateFormat.format(DateFormat.java:296) 09-30 11:19:47.205:
> E/AndroidRuntime(19285):  at java.text.Format.format(Format.java:93)
> 09-30 11:19:47.205: E/AndroidRuntime(19285):  at
> com.fragment.bookingdetail.BookingDetailFragment.sendDataToAP(BookingDetailFragment.java:1105)
> 09-30 11:19:47.205: E/AndroidRuntime(19285):  at
> com.fragment.bookingdetail.BookingDetailFragment.sendBookingToServer(BookingDetailFragment.java:782)
> 09-30 11:19:47.205: E/AndroidRuntime(19285):  at
> com.fragment.bookingdetail.BookingDetailFragment.onClick(BookingDetailFragment.java:340)

最佳答案

基本上,您无法使用 DateFormat 来格式化 Calendar 对象。使用 Calendar#getTime() 并将生成的 Date 对象传递给 format 调用。

关于java - 格式化日历对象时出现非法参数异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26112333/

相关文章:

java - 如何获取泛型类型 T 的类实例?

java - 如何将Jpanel添加到创建的Frame中

Java导入报错

java - "SyncAdapter"执行过程中出现异常

calendar - 在 db4o 本地数据库中存储包含 Calender 对象的对象,无法检索对象字段

java - 从日期类型中提取年、月和日

java - 获取 FileNotFoundException 即使文件存在并且拼写正确

java - android中如何检测ArrayList内容一段时间没有改变?

java - 如何降低 onClick() 方法内的圈复杂度

javascript - 无法使用 for 循环填充 fullcalendar 中的数组