我怎样才能将 string 采用如下格式:2008-06-02 00:00:00.0
并将其转换为:02-Jun -2008
?
我能否以某种方式获取原始字符串,将其转换为 Date 对象,然后使用格式化程序获取最终输出(而不是自己解析字符串)?谢谢!
最佳答案
您可以使用 SimpleDateFormat
在 String
之间转换和一个 Date
基于模式的对象,反之亦然。单击 API 链接,您将看到详细解释的模式。 4位年份可以用yyyy
表示,3个字符的月份缩写可以用MMM
等表示。
首先你需要将第一种格式的String
解析为Date
对象:
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = sdf1.parse(inputString);
然后您需要将Date
格式化为第二种格式的String
:
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
String outputString = sdf2.format(date);
请注意,您还需要考虑 Locale
才能以英文打印月份,否则它将使用平台的默认语言环境来翻译月份。
关于java - Java中的日期转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2692445/