我尝试使用 SimpleDateFormat.parse 方法将日期字符串解析为 Date 对象,但它在返回的最终日期中省略了“T”。我传递此日期字符串 2015-04-15T12:55:07.365
,并在输出中得到 2015-04-15 12:55:07.365
。但是,所需的输出是 2015-04-15T12:55:07.365
。
为什么这行省略了最终输出中的“T”parsedDate = sdf.parse(transDate);
public static void main(String[] args)
{
try
{
final String pattern = "yyyy-MM-dd'T'hh:mm:ss.SSS"; // example 2015-04-15T12:55:07.365
final SimpleDateFormat sdf = new SimpleDateFormat(pattern);
String transDate = "2015-04-15T12:55:07.365";
Date parsedDate = sdf.parse(transDate);
System.out.println("transDate:"+transDate+", parsedDate: "+parsedDate);
}
最佳答案
你永远不会得到你想要的输出2015-04-15T12:55:07.365
为什么?
因为你正在打印Date对象parsedDate
。Date类有它自己的toString()方法实现。当你打印日期对象时,这意味着它基本上打印了toString()方法实现格式。
参见 Java doc了解详情
关于java - Java中SimpleDateFormat解析方法遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30828822/