java - 解析 Java 日期对象时遇到问题?

标签 java date

我收到的 Java 日期格式如下:"Sun Sep 14 02:00:00 PDT 2014"yyyy-MM-dd 格式,但我可以' 似乎解析它。我尝试的是以下内容:

String time = "Sun Sep 14 02:00:00 PDT 2014";
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
Date contractEffectiveDateFormat = f.parse(time);
System.out.println("Date: " + contractEffectiveDateFormat);

但是,我收到一条错误消息,指出此日期无法解析。我不确定如何解析这个日期,因为如果我尝试使用以下方法解析日期:

DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy"); 

这就是如何将日期正确解析为 Date 对象, 该字符串将变成一个 Date 对象,但我似乎无法从那里对它做任何事情。我想将其上交,使其看起来像 2014-09-14。关于如何这样做的任何想法?谢谢!

最佳答案

使用两个 DateFormat(s),一个用于输入,一个用于输出,

String time = "Sun Sep 14 02:00:00 PDT 2014";
DateFormat out = new SimpleDateFormat("yyyy-MM-dd");
DateFormat in = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy");
try {
    Date effectiveDate = in.parse(time);
    System.out.println("Date: " + out.format(effectiveDate));
} catch (ParseException e) {
    e.printStackTrace();
}

输出是请求的

Date: 2014-09-14

关于java - 解析 Java 日期对象时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25840489/

相关文章:

java - 在 TableView JavaFX 中逐列设置项目

php - Laravel 比较日期字段和现在日期

date - 使用 awk 或 sed 将时间戳(unix 13 位)转换为 csv 文件完整列的日期时间格式

java - CountDownTimer 无法正确显示时间

php - 计算两个日期之间的时间差,并给出类似 "2 days 3 hours ago"的答案

java - 与 JWS java 应用程序的服务器交互的最佳方式是什么

java - 如何从 Web 应用程序的 Java Servlet 发送推送通知?

java - java泛型中的通配符

java - FileWriter - 在项目内但在当前目录之外写入 .txt

mysql - 在 MySQL 中获取两个日期字符串之间的数据