java中日期字符串的特定日期格式

Wak*_*ley 4 java string format

我有一个日期字符串

"20120514045300.0Z"
Run Code Online (Sandbox Code Playgroud)

我正在试图弄清楚如何将其转换为以下格式

"2012-05-14-T045300.0Z"
Run Code Online (Sandbox Code Playgroud)

你怎么建议我解决它?

aio*_*obe 8

您应该将日期解析为适当的表示形式,并从该表示格式解析输出,而不是潜入难以阅读的字符串操作代码.如果可能的话,我建议你坚持使用一些现有的API.

这是一个基于的解决方案SimpleDateFormat.(0Z虽然它硬编码了部分.)

String input = "20120514045300.0Z";

DateFormat inputDF  = new SimpleDateFormat("yyyyMMddHHmmss'.0Z'");
DateFormat outputDF = new SimpleDateFormat("yyyy-MM-dd'-T'HHmmss.'0Z'");

Date date = inputDF.parse(input);
String output = outputDF.format(date);

System.out.println(output);  // Prints 2012-05-14-T045300.0Z as expected.
Run Code Online (Sandbox Code Playgroud)

(改编自:如何从给定的字符串中获取日期部分?)


Vla*_*nov 2

您需要解析日期并将其格式化为所需的形式。用来SimpleDateFormat做它。您还可以查看问题以了解更多详细信息。