Java 如何将日期时间字符串放入日历对象中?
可能重复:Java 如何将日期时间字符串放入日历对象中?,java,Java,可能重复: 我怎么能做这样的事 GregorianCalendar cal = new GregorianCalendar("2012-08-02 12:04:03"); 或 注意:上面的代码片段实际上是不可能的,我想模拟这种行为 进一步澄清 假设我有一个日期和时间字符串,如“2012-08-02 12:04:03”。有没有一种有效的方法可以将这些信息输入到日历对象中,而不必手动将其分解为月、年和日字符串,然后将它们转换为整数,然后调用set(Calendar.HOUR)等 目前,我有一个表
我怎么能做这样的事
GregorianCalendar cal = new GregorianCalendar("2012-08-02 12:04:03");
或
注意:上面的代码片段实际上是不可能的,我想模拟这种行为
进一步澄清
假设我有一个日期和时间字符串,如“2012-08-02 12:04:03”。有没有一种有效的方法可以将这些信息输入到日历对象中,而不必手动将其分解为月、年和日字符串,然后将它们转换为整数,然后调用set(Calendar.HOUR)等
目前,我有一个表单,它以年、月、小时、日等作为输入,我将它们分别传递到日历对象中,但如果我可以使用一个日期和时间字符串,如“2012-08-02 12:04:03”您必须使用它,它将为您提供一个日期对象。使用该日期
对象,您可以初始化您的日历
String dateString=new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("2012-08-02 12:04:03");
Calender cal = Calender.getInstance();
cal.setTime(new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(dateString).getTime());
将其包装为try-catch,因为parse方法将抛出ParseException。并研究@user714965提供的链接,使用.parse()方法将字符串转换为日期对象:
String-dateString=new-SimpleDateFormat(“dd/MM/yyyy HH:MM:ss”).parse(“2012-08-02 12:04:03”)代码>
getInstance()将创建抽象日历类的子类之一的实例:
Calender cal=Calender.getInstance()代码>
setTime()将接受日期对象:
cal.setTime(新的SimpleDataFormat(“dd/MM/yyyy HH:MM:ss”).fomat(dateString.getTime())代码>用这个代替joda time@JBNizet Perfect。这正是我想要的。因为它是复制品而投反对票?罪犯真可耻。这并不是说一旦有人回答了我就可以删除帖子……我知道你可以使用SimpleDataFormat来格式化Calendar对象的输出,但是你会如何使用它来配置输入?请参阅方法。
String dateString=new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("2012-08-02 12:04:03");
Calender cal = Calender.getInstance();
cal.setTime(new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(dateString).getTime());