可能重复:
How to convert a date String to a Date or Calendar object?
我怎么能做这样的事呢
GregorianCalendar cal = new GregorianCalendar("2012-08-02 12:04:03");
或
Calendar cal = Calendar.getInstance();
cal.setDateTime("2012-08-02 12:04:03");
注意:上面的代码段实际上是不可能的,我想嘲笑这种行为。
进一步澄清
假设我有一个日期和时间字符串,如“2012-08-02 12:04:03”。是否有一种有效的方法可以将此信息转换为Calendar对象,而无需手动将其分解为月,年和日字符串,然后将它们转换为整数然后调用set(Calendar.HOUR)等?
目前,我有一个表格,将年,月,小时,日等作为输入,我将这些单独传递给日历对象,但如果我可以使用单个日期和时间字符串,那将会很好“2012-08-02 12:04:03”
答案 0 :(得分:1)
您必须使用SimpleDateFormat,它会为您提供Date
个对象。使用该Date
对象,您可以初始化Calendar
答案 1 :(得分:1)
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
提供的链接答案 2 :(得分:0)
使用.parse()方法将String转换为Date对象:
String dateString=new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("2012-08-02 12:04:03");
getInstance()将创建一个抽象Calendar类的子类之一的实例:
Calender cal = Calender.getInstance();
setTime()将采用Date对象:
cal.setTime(new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").fomat(dateString).getTime());