Java中的日期转换

llm*_*llm 2 java string date

如何以如下格式获取字符串:2008-06-02 00:00:00.0并将其转换为:02-Jun-2008

我可以以某种方式获取原始字符串,将其转换为Date对象,然后使用格式化程序来获取最终输出(而不是自己解析字符串)?谢谢!

Bal*_*usC 7

您可以使用基于模式SimpleDateFormat在a StringDate对象之间进行转换,反之亦然.单击API链接,您将看到详细说明的模式.一个4位数的年份可以表示yyyy,3个字符的月份缩写可以用MMM,等等.

首先,你需要解析String第一格式为Date对象:

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = sdf1.parse(inputString);
Run Code Online (Sandbox Code Playgroud)

然后,你需要格式化DateString第二格式:

SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
String outputString = sdf2.format(date);
Run Code Online (Sandbox Code Playgroud)

请注意,您还需要考虑Locale使用英语打印月份,否则它将使用平台的默认语言环境来翻译月份.