如何将一个字符串转换为包含小时、分钟和秒的日期对象

17 浏览
0 Comments

如何将一个字符串转换为包含小时、分钟和秒的日期对象

我正在尝试将用户输入的字符串转换为存储在Date对象中的小时、分钟和秒数。我借用了一些代码来自于StackOverflow,它使用SimpleDateFormat对象来解析用户输入,但是当它尝试时我得到了一个ParseException异常。\n

System.out.println("请输入事件的开始时间(hh:mm:ss):");
String input = sc.next();
SimpleDateFormat f = new SimpleDateFormat("kk-mm-ss");
Date start = new Date();
try {
    start = f.parse(input);
} catch (ParseException e) {
   System.out.println("错误:无法解析开始时间。");
   e.printStackTrace();
}

\n异常信息:\n

java.text.ParseException: 无法解析的日期:"01:02:03"
at java.text.DateFormat.parse(未知来源)
at Main.createDialog(Main.java:78)
at Main.displayMenu(Main.java:44)
at Main.main(Main.java:26)

0
0 Comments

如何将字符串转换为包含小时、分钟和秒的日期对象?

问题原因:

在给定的格式和输入之间进行比较时,请注意格式的差异。格式期望的是“-”,但你提供的是“:”。因此,需要将“kk-mm-ss”更改为“kk:mm:ss”。

解决方法:

1. 将字符串转换为日期对象之前,需要确保格式匹配。

2. 在给定的例子中,需要将格式“kk-mm-ss”更改为“kk:mm:ss”。

3. 使用合适的日期格式化工具或方法,将字符串转换为日期对象。

以下是一种可能的解决方法的示例代码:

String dateString = "01:02:03";
SimpleDateFormat format = new SimpleDateFormat("kk:mm:ss");
Date date = format.parse(dateString);

上述代码将字符串“01:02:03”转换为包含小时、分钟和秒的日期对象。

0