java - 将日期对象转换为 yyyy-MM-dd hh :mm:ss

标签 java date datetime simpledateformat

我正在尝试转换此日期对象 Fri Sep 21 08:00:00 SGT 2018改成这种格式 yyyy-MM-dd hh:mm:ss日期对象。

        Date dt = sd1.parse(startTime);
        logger.info(dt);
        logger.info(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(dt.toString()));

第一个日志语句有效,它返回我 Fri Sep 21 08:00:00 SGT 2018但第二条日志语句不起作用。

它给我一个错误

unparseable date Fri Sep 21 08:00:00 SGT 2018

我在这里做错了什么?我的最终目标是获取 yyyy-MM-dd hh:mm:ss 中的日期对象格式。

最佳答案

首先,您必须使用以下命令正确解析日期:

    new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy").parse("Fri Sep 21 08:00:00 SGT 2018");

所以这应该有效:

    Date newDate = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy").parse("Fri Sep 21 08:00:00 SGT 2018");
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.SS");
    String strDate = sdf.format(newDate.getTime());
    System.out.println(strDate);

但我建议您使用LocalDateTime

LocalDateTime ldt = LocalDateTime.parse("Fri Sep 21 08:00:00 SGT 2018", DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy"));      
System.out.println(ldt.format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss.SS")));

关于java - 将日期对象转换为 yyyy-MM-dd hh :mm:ss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52440191/

相关文章:

python - 什么是 Vaex 函数将字符串解析为 datetime64,相当于 pandas to_datetime,允许自定义格式?

java - 在 Java 中解决简单的字符串表达式 (1+2*3) [几乎完成]

java - 使用java解析阿拉伯字符的问题

java - 使用 play-framework 2.2.x 删除对象时违反参照完整性约束

php - 从 mysql 数据库获取日期到 PHP 的下拉框中

java - Android DateTimeFormatter withZone 不工作

java - 带有 Java 8 lambdas 和 Optional 的子类

javascript - 日期格式 YYYY-MM-DD 在 Safari 中不起作用

MySQL 选择两个日期之间的所有条目而不考虑年份

java - 如何在Java中将这个日期格式 "Wednesday, 12 June 2019 14:23:39"解析为这个 "2019-03-05T11:56:13Z"?