【问题标题】:How to format my date to Default format [closed]如何将我的日期格式化为默认格式[关闭]
【发布时间】:2018-02-07 22:05:30
【问题描述】:

我正在使用 java 8 我有一个这样的 sql server 日期类型

2016-01-20T00:00:00.000

默认日期格式为:

new Date() ==> 2017 年 8 月 30 日星期三 11:03:30 CEST

我想将我的日期格式化为默认日期。

谢谢

【问题讨论】:

  • 没有默认格式...您需要使用 DateTimeFormatter
  • Java 中的日期没有格式
  • 一般推荐的方法是:给自己弄一个兼容 JDBC 4.2 的数据库驱动。然后,根据您对时区的要求,将InstantZonedDateTimeLocalDateTime 从您的ResultSet 转移到您的PreparedStatement。然后不用担心格式。
  • 并避免使用早已过时的Date 类。我之前评论中提到的现代类更好用。
  • 这个问题不清楚。你在解析一个字符串吗?您是否从数据库中检索日期时间对象,如果是,究竟是什么类型?你想捕捉当下的时刻吗?此外,all 已经在 Stack Overflow 上进行了处理。在发布之前,请务必彻底搜索 Stack Overflow。

标签: java date java-8 format


【解决方案1】:

此代码将完全按照您的要求进行。只需要你获取String的值:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSS");
String date = "2016-01-20T00:00:00.000";
Date d = new Date(dateFormat.parse(date).getTime());
System.out.println(d);

产生以下输出:

Wed Jan 20 00:00:00 CET 2016

【讨论】:

  • 请不要教年轻人使用陈旧的课程SimpleDateFormatDate。今天我们做得更好了。
  • 我以为提问者要求格式为 2016-01-20T00:00:00.000 作为输出。不过,我承认这很不清楚。
  • @XtremeBaumer,这个问题显然是关于 Java 8 的。虽然我们可以讨论你的回答是否对另一个问题有帮助,但恕我直言,它不在这里。对Java版本当然不是没有任何保留。
  • 在 Java 6 和 7 中,有一个用于 Java 8 新 API 的 backport(因此您可以使用 LocalDateTime)。对于 Java 5,有 Joda-Time(尽管在维护模式下,仍然比旧的 DateSimpleDateFormat API 更好)。我知道还有很多遗留代码还不能迁移,所以我们还是得忍受SimpleDateFormat 一段时间。但也很高兴知道我们有更好的替代方案,不仅适用于最新版本的 Java。
  • @Hugo 我们可以在没有SimpleDateFormat 的情况下生活。在 java.time 中编写新代码,最后通过添加到遗留类的新方法转换为旧代码所需的遗留类型。
【解决方案2】:

LocalDateTime 与其toString() 一起使用。

String s = LocalDateTime.now().toString(); // ISO standard representation

// LocalDateTime to old Date:
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());

// Old Date holding time to LocalDateTime:
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(),
        ZoneId.systemDefault());

当然,使用 SQL PreparedStatement,您可以直接调用 setDate 而无需通过 String 绕道。

【讨论】:

    猜你喜欢
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    相关资源
    最近更新 更多