我想从java中的文本中读取时间,但是当它以(hh:mm)格式读取时间时,如下例所示:
04:15和04.12.2014
并且有我的java代码将字符串转换为Data formate
DateFormat timeFormat=new SimpleDateFormat("HH:mm");
DateFormat dateFormat=new SimpleDateFormat("dd.MM.yyyy");
.
.
flight.setArrTime((Date) timeFormat.parse((String) strTokenizer.nextElement()));
flight.setFlightDate((Date) dateFormat.parse((String) strTokenizer.nextElement()));
输出是:
Thu Jan 01 04:15:00 EET 1970
Thu Dec 04 00:00:00 EET 2014
它提供长格式日期,而我只想采取时区(04:15)。
我该怎么办?
答案 0 :(得分:0)
您必须格式化日期,如:
String s1 = "04:15";
String s2 = "04.12.2014";
DateFormat timeFormat=new SimpleDateFormat("HH:mm");
DateFormat dateFormat=new SimpleDateFormat("dd.MM.yyyy");
String newDate1 = timeFormat.format(timeFormat.parse((s1)));
String newDate2 = dateFormat.format(dateFormat.parse((s2)));
答案 1 :(得分:0)
如果我猜对了,你就是hava
class Flight{
Date arrTime;
Date flightDate;
public setArrTime(Date date){
//yourcode
}
public setFlightDate(Date date){
//yourcode
}
}
DateFormat不是存储日期的特定方式,而只是如何将它们作为字符串输出。因此,如果您只想输出到达时间,可以写
System.out.println("Der Flug flieg am "+ dateFormat.format(flightTime));
System.out.println("Der Flug kommt um "+ timeFormat.format(arrTime)+ " Uhr an.");
但是你的信息是时间和日期,你可以把它们放在同一个日期,节省一些内存
编辑: 也许你想更明确地想要实现什么,因为你的代码可以完成你想要的一切。它可能没有创建所需的输出,但你没有告诉我们,你的输出来自哪里。我很害羞这是问题所在!