我有一个日历对象,我希望以这种格式显示它:“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)
答案 0 :(得分:2)
基本上,您无法使用Calendar
格式化DateFormat
对象。使用Calendar#getTime()
并将生成的Date
对象传递给format
来电。
答案 1 :(得分:0)
试试这个
Calendar date = Calendar.getInstance(TimeZone.getDefault());
SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss Z", Locale.ENGLISH);
String bookingDate = formatter.format(date.getTime());
System.out.println(bookingDate);