【问题标题】:Convert EEE MMM dd HH:mm:ss ZZZ yyyy to YYYY-MM-dd JAVA将 EEE MMM dd HH:mm:ss ZZZ yyyy 转换为 YYYY-MM-dd JAVA
【发布时间】:2014-10-01 01:31:51
【问题描述】:

我想使用 JAVA 将 Thu Feb 02 00:00:00 WET 2012 转换为 02/02/2012(日期类型不是字符串)。

我做到了

String date = "Thu Feb 02 00:00:00 WET 2012";
SimpleDateFormat formatnow = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZ yyyy", Locale.ENGLISH); 
SimpleDateFormat formatneeded=new SimpleDateFormat("YYYY-MM-dd");
Date date1 = formatnow.parse(date);
String date2 = formatneeded.format(date1);
Date date3= formatneeded.parse(date2);
System.out.println(date3);

我有:Thu Feb 02 00:00:00 WET 2012。 谁能告诉我问题出在哪里??

【问题讨论】:

  • System.out.println(date2); 给你什么?
  • 它给了我:Thu Feb 02 00:00:00 WET 2012
  • 抱歉 date2 给了我:2012-02-02 但我不想将日期类型作为字符串类型存储在我的数据库中
  • 日期没有任何关联的格式,因此只需将date1 存储在您的数据库中。
  • Date 使用toString 方法来表示其值,并且此方法返回您看到的格式作为输出。这就是为什么 SimpleDateFormat 类可以让您生成具有所需格式的String 的原因。

标签: java date format


【解决方案1】:

Date 对象不包含有关您想要的显示格式的任何信息。因此,从格式化的日期字符串中解析日期不会“记住”任何格式。

System.out.println(date3) 将使用 java 的 toString 方法打印 date3 的值。

您在 date2 中有格式化的日期字符串。所以 System.out.println(date2) 应该给你正确的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2021-04-27
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    相关资源
    最近更新 更多