【问题标题】:How can i get data in format "YYYY-MM-DD 00:00:00.0" using class Date?如何使用日期类获取格式为“YYYY-MM-DD 00:00:00.0”的数据?
【发布时间】:2013-07-15 08:37:28
【问题描述】:

如何使用 Date 类获取格式为“YYYY-MM-DD 00:00:00.0”的数据(准确使用此类非常重要)?

我想尽了一切办法:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
df.format(date)

String pattern = "yyyy-MM-dd HH:mm:ss.S";
SimpleDateFormat format = new SimpleDateFormat(pattern);
try {
Date date = format.parse("2011-01-18 00:00:00.0");
} catch (ParseException e) {
e.printStackTrace();
}

当我使用记录器打印日期时,我得到这种格式“Tue Sep 30 00:00:00 MSK 1913”。

【问题讨论】:

标签: java date


【解决方案1】:

试试这个

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
    Date date = format.parse("2011-01-18 00:00:00.0");
    System.out.println(format.format(date));

【讨论】:

    【解决方案2】:

    您确定要将小时、分钟、秒设为零吗?

    或者你的意思是模式 yyyy-MM-dd HH:mm:ss ?

    日期类始终独立于格式。打印时只需要翻译一下,像这样:

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String out = df.format(date)
    System.out.println(out);
    

    或者你想去掉日期对象的时间?什么的。

    【讨论】:

      【解决方案3】:

      你被Date.toString()SimpleDateFormat.format()弄糊涂了

      Date (java.util.Date) 的对象具有没有格式信息。如果您调用date.toString(),(由您的记录器调用),您将获得该对象的默认表示,您已经看到它是什么。

      但是,SimpleDateFormat.format() 会给你一个字符串作为返回值,这个值将使用SimpleDateFormat 定义的模式格式化 Date 对象。

      在您的代码中,您首先以特定模式解析字符串以获取日期对象。如果成功,你得到了 Date 对象,在这里,对于这个 date 对象,你没有任何格式信息,即使你已经定义了一个模式来解析输入字符串。如果要打印/输出(再次字符串化)日期对象,则必须使用SimpleDateFormat.format() 方法。

      【讨论】:

        【解决方案4】:

        当您需要动态日期时,我希望以下内容可以解决您的问题。

        Date today = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
        String formattedDate = sdf.format(today);
        System.out.println(formattedDate);
        //Above line output (formatted String object) is 2017-12-29 00:00:00
        System.out.println(format.format(formattedDate));
        //Above line output(parsed Date object) is Fri Dec 29 00:00:00 IST 2017
        

        对于 Date 对象,您无法获得 yyyy-MM-dd 00:00:00 的输出,但您将在 String 对象类型中获得此格式。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-08-28
          • 2012-03-22
          • 2015-02-03
          • 2019-07-19
          • 1970-01-01
          • 2019-08-25
          • 1970-01-01
          • 2013-12-10
          相关资源
          最近更新 更多