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