我正在尝试将 yyyy-MM-dd’T’HH:mm:ss.SSSz 格式的日期格式化为 yyyy-mm-dd HH:mm:ss,这应该很容易,但我无法让它工作.
必须解析的日期格式为:2012-10-01T09:45:00.000+02:00
现在我使用这个简单的日期格式化程序来格式化它:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz", Locale.FRANCE);
但这给出了类似于 2012-10-01T09:45:00.000UTC+00:00 的输出。
我还尝试使用“yyyy-MM-dd’T’HH:mm:ss.SSSZ”作为模式和“yyyy-MM-ddHH:mm:ss”。后者以 2012-10-01T09:45:00 关闭的形式返回一个日期,但还没有。
我认为将 T 去掉子字符串会有点混乱并且无缘无故地产生开销,因此格式化这些日期的正确方法是什么?
为了说明,我想将 2012-10-01T09:45:00.000+02:00 转换为 2012-10-01 09:45:00
干杯!
原文由 Gooey 发布,翻译遵循 CC BY-SA 4.0 许可协议
这行得通。您必须使用两种 SimpleDateFormats,一种用于输入,一种用于输出,但它会给您您想要的。