java - Java中的日期转换

标签 java string date

我怎样才能将 string 采用如下格式:2008-06-02 00:00:00.0 并将其转换为:02-Jun -2008?

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

最佳答案

您可以使用 SimpleDateFormatString 之间转换和一个 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/

相关文章:

java - 防止 Swing 剪切完全被半透明 JComponent 覆盖的 JComponent

python - 在Python3中高效地切片字符串

C:试图颠倒矩阵中 10 个单词的顺序

java - 在 ubuntu 上安装配置单元(derby 有问题?)

java - ClientBundle.enableInlined 和 ClientBundle.enableRenaming?

javascript - 如何进行不区分大小写的字符串比较?

Javascript:将字符串转换为完整的月份到日期对象

javascript - 比较在 javascript 中不使用 toLocaleDateString() 的日期?

python - 解析不同的日期格式: Regex

java - Spring Boot 与 Apache Shiro