如何将一个字符串转换为包含小时、分钟和秒的日期对象
如何将一个字符串转换为包含小时、分钟和秒的日期对象
我正在尝试将用户输入的字符串转换为存储在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)
如何将字符串转换为包含小时、分钟和秒的日期对象?
问题原因:
在给定的格式和输入之间进行比较时,请注意格式的差异。格式期望的是“-”,但你提供的是“:”。因此,需要将“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”转换为包含小时、分钟和秒的日期对象。