【发布时间】:2014-02-09 23:05:55
【问题描述】:
所以,我正在尝试使用 Java 中的 Calendar 类,并且正在编写一个返回 Calendar 对象的方法。
我想要的方法是返回一个包含"Sun Feb 09 22:49:36 +0000 2014" 的Calendar 对象。
现在我(有争议地)并不懒惰,我已经在我的方法上做了一些工作。
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(
"EEE MMM dd HH:mm:ss Z yyyy");
try {
cal.setTime(sdf.parse("Sun Feb 09 22:49:36 +0000 2014"));
} catch (ParseException e) {
e.printStackTrace();
}
return cal;
问题是它一直告诉我我得到了一个ParseException,它是一个"Unparseable date"。
我认为我的逻辑很正确,但我开始怀疑了。
除了Calendar,我更喜欢它,但SimpleDateFormat 似乎也很方便。
我总是说,进口越少越好。
有人知道我想要的东西是如何实现的吗?
编辑 1
尝试在main方法中运行代码,只打印出结果,与Exception没有区别。
以下是我的主要内容:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class TestingMyCalendar {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(
"EEE MMM dd HH:mm:ss Z yyyy");
try {
cal.setTime(sdf.parse("Sun Feb 09 22:49:36 +0000 2014"));
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(cal);
}
}
对于那些感兴趣的人,以下是我在主崩溃后的整个控制台文本:
java.text.ParseException: Unparseable date: "Sun Feb 09 22:49:36 +0000 2014"
at java.text.DateFormat.parse(Unknown Source)
at TestingMyCalendar.main(TestingMyCalendar.java:15)
java.util.GregorianCalendar[time=1391987659892,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2014,MONTH=1,WEEK_OF_YEAR=7,WEEK_OF_MONTH=2,DAY_OF_MONTH=10,DAY_OF_YEAR=41,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=14,SECOND=19,MILLISECOND=892,ZONE_OFFSET=3600000,DST_OFFSET=0]
【问题讨论】:
-
我运行了代码,没有异常
-
进口越少越好,这是当今世界非常奇怪的座右铭。
-
@baba 哈哈,是的,我猜很奇怪。将其视为临时座右铭,仅适用于此方法!
-
刚刚测试了您的代码,也没有异常,运行良好。
标签: java calendar simpledateformat