Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 - Fatal编程技术网

如何使用Java将以这种方式格式化的字符串转换为日期?

如何使用Java将以这种方式格式化的字符串转换为日期?,java,date,Java,Date,在Java应用程序中,我有一个表示时间戳的字符串,其中包含如下值:2009-10-17 05:45:14.000 如您所见,字符串表示年、月、日、小时、分钟、秒和毫秒 我必须将这样的字符串转换成日期对象(如果可能的话,还需要毫秒信息,是吗?) 如何正确实现它?您可以使用SimpleDataFormat根据给定的模式解析给定的字符串日期,它还支持毫秒,如下所示: SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd hh:mm

在Java应用程序中,我有一个表示时间戳的字符串,其中包含如下值:2009-10-17 05:45:14.000

如您所见,字符串表示年、月、日、小时、分钟、秒和毫秒

我必须将这样的字符串转换成日期对象(如果可能的话,还需要毫秒信息,是吗?)


如何正确实现它?

您可以使用
SimpleDataFormat
根据给定的模式解析给定的字符串日期,它还支持毫秒,如下所示:

SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
Date date=format.parse("2009-10-17 05:45:14.050");

自Java 8以来,您应该使用 Class
LocalDateTime
存储的日期和时间精度最高可达纳秒。
下面是一个片段,演示如何将字符串解析为
LocalDateTime

import java.time.LocalDateTime;
导入java.time.format.DateTimeFormatter;
导入java.util.Locale;
公共类日期时间{
公共静态void main(字符串[]args){
String str=“2009-10-17 05:45:14.000”;
DateTimeFormatter formatter=DateTimeFormatter.of模式(“yyyy-MM-dd HH:MM:ss.SSS”,Locale.ENGLISH);
LocalDateTime ldt=LocalDateTime.parse(str,格式化程序);
}
}

这是否回答了您的问题可能有几十个类似的问题。看看这个。这并不完全相同,但它确实考虑了日期+时间(包括毫秒)。在该答案中,找到使用
DateTimeFormatter
的位。