Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串转换为日期Java_Java_Date_Parsing - Fatal编程技术网

将字符串转换为日期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中的一个时刻。如

如何在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中的一个时刻。如果结合您的日期和时间,我们仍然缺少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();
    }