我正在以一种特殊的格式获取时间,我想将其转换为另一种格式。以下代码段摘自堆栈溢出答案之一。
SimpleDateFormat origDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
SimpleDateFormat newDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date retrivedDate = origDateFormat.parse(origFormat);
return newDateFormat.format(retrivedDate);
只要我的输入日期采用以下格式,该代码格式就可以使用:22/08/2015 14:23
。
但是当我尝试几秒钟时,我得到了错误:
不可解析的日期:“ 06/03/2019 14:17:25”
SimpleDateFormat origDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
SimpleDateFormat newDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date retrivedDate = origDateFormat.parse(origFormat);
return newDateFormat.format(retrivedDate);
答案 0 :(得分:1)
Here's <div class="main">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
<div class="box">4</div>
</div>
方法的javadoc,它的意思是:
从给定字符串的开头解析文本以产生日期。 该方法可能不会使用给定字符串的整个文本。
因此,根据文档,您可以使用parse()
和06/03/2019 14:17:25
日期格式解析dd/MM/yyyy HH:mm
日期。如果使用不包含秒的格式进行解析,则它将忽略第二部分。下面是工作代码:
dd/MM/yyyy HH:mm:ss
以下是输出:
String date = "06/03/2019 14:17:25";
SimpleDateFormat mmDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
SimpleDateFormat ssDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
System.out.println(mmDateFormat.parse(date));
System.out.println(ssDateFormat.parse(date));