仅在java中格式化时间 - 来自文本文件

时间:2015-03-30 13:44:31

标签: java

我想从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)。

我该怎么办?

2 个答案:

答案 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.");

但是你的信息是时间和日期,你可以把它们放在同一个日期,节省一些内存

编辑: 也许你想更明确地想要实现什么,因为你的代码可以完成你想要的一切。它可能没有创建所需的输出,但你没有告诉我们,你的输出来自哪里。我很害羞这是问题所在!