我试图将一个6位数的字符串转换为Time而没有使用SimpleDateFormat的日期,但我在转换时间后获得了01.01.1970的日期。如何在没有日期的情况下将时间存储在时间变量中?
代码
String timeString = "004500";
SimpleDateFormat formater = new SimpleDateFormat("hhmmss");
Date time= formater.parse(timeString );
答案 0 :(得分:2)
你可以使用你想要的LocalTime。您可以解析这样的标准日期:
String str = "1986-04-08 12:30";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
LocalTime time - dateTime.toLocalTime();
如果您只有时间解析,可以使用LocalTime.parse()method。
请注意,这仅从Java 8开始提供。如果您尚未使用Java 8,还可以添加Joda Time作为依赖项。