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)
你怎么建议我解决它?
您应该将日期解析为适当的表示形式,并从该表示格式解析输出,而不是潜入难以阅读的字符串操作代码.如果可能的话,我建议你坚持使用一些现有的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)
(改编自:如何从给定的字符串中获取日期部分?)