将字符串转换为日期Java
如何在java中将这两个字符串分别转换为各自的日期将字符串转换为日期Java,java,date,parsing,Java,Date,Parsing,如何在java中将这两个字符串分别转换为各自的日期 String day = "2021-05-9" -> Date ? String hour = "23:59:00" -> Date ? 解析为适当的java.time类型 如果您所说的Date是指java.util.Date,那么多年前这个糟糕的类就被JSR 310中定义的现代java.time类所取代了。切勿使用日期 另外,java.util.Date类表示UTC中的一个时刻。如
String day = "2021-05-9" -> Date ?
String hour = "23:59:00" -> Date ?
解析为适当的java.time类型
如果您所说的Date
是指java.util.Date
,那么多年前这个糟糕的类就被JSR 310中定义的现代java.time类所取代了。切勿使用日期
另外,java.util.Date
类表示UTC中的一个时刻。如果结合您的日期和时间,我们仍然缺少UTC或时区偏移的上下文
如果要组合日期和时间,请使用LocalDateTime
class
LocalDateTime ldt = LocalDateTime.of( ld , lt ) ;
但是请注意,该类不能表示一个时刻,它不是时间线上的一个点,因为它没有偏移量或时区。您可以尝试此方法
try {
String day = "2021-05-09";
String hour = "23:59:00";
Date dt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(day + " " + hour);
System.out.println(dt);
}catch (ParseException e) {
e.printStackTrace();
}
您好@AndreProenza-请看一下前一个问题的答案。如果您仍然有问题,请用您尝试过但不起作用的内容更新问题。。。还有一个小时的例子-是今天23:59还是其他日期…?一个日期怎么可能在月份或月份的某一天为零?这是否回答了你的问题?你的搜索结果是什么?它有什么不足之处?请不要教年轻人使用早已过时且臭名昭著的
SimpleDateFormat
类。至少不是第一个选择。而且不是毫无保留的。我们在及其DateTimeFormatter
中有更好的功能。
try {
String day = "2021-05-09";
String hour = "23:59:00";
Date dt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(day + " " + hour);
System.out.println(dt);
}catch (ParseException e) {
e.printStackTrace();
}