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());