尝试将字符串日期转换为日期

发布于 2024-12-22 09:28:54 字数 345 浏览 2 评论 0原文

java.text.ParseException: Unparseable date: "Sat May 01 00:00:00 EDT 2010"

我试图使用 SimpleDateFormat 类解析此日期。

java.util.Date prevStartDate = new Date();
java.util.Date prevStopDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
prevStartDate = dateFormat.format(startDateLY);

java.text.ParseException: Unparseable date: "Sat May 01 00:00:00 EDT 2010"

I am trying to parse this date using the SimpleDateFormat class.

java.util.Date prevStartDate = new Date();
java.util.Date prevStopDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
prevStartDate = dateFormat.format(startDateLY);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笑红尘 2024-12-29 09:28:54

这是因为您使用的是 yyyy-MM-dd 格式 - 您必须将输入中的每个参数添加到该格式。

看起来您的格式是 E MMM dd HH:mm:ss z yyyy

因此您需要从一种转换为另一种:

static DateFormat extended = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
static DateFormat simple = new SimpleDateFormat("yyyy-MM-dd");

String reformat(String extendedString) {
    Date yourDate = extended.parse(extendedString);
    String simpleString = simple.format(yourDate);
    return simpleString;
}

或者,

String reformat(String dateString) {
    return simple.format(extended.parse(dateString));
}

That would be because you're using the format of yyyy-MM-dd - you have to add each parameter in your input to that format.

It looks like your format is E MMM dd HH:mm:ss z yyyy

So you need to convert from one to the other:

static DateFormat extended = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
static DateFormat simple = new SimpleDateFormat("yyyy-MM-dd");

String reformat(String extendedString) {
    Date yourDate = extended.parse(extendedString);
    String simpleString = simple.format(yourDate);
    return simpleString;
}

Or alternatively,

String reformat(String dateString) {
    return simple.format(extended.parse(dateString));
}
记忆で 2024-12-29 09:28:54

SimpleDateFormat 与区域设置相关,因此通过提供一个,您可以获得针对特定语言或国家/地区本地化的日期字符串

http ://www.javablogging.com/java-simpledateformat-examples/

SimpleDateFormat is Locale dependent, so by providing one you can get the Date string localized for specific language or country

http://www.javablogging.com/java-simpledateformat-examples/

下雨或天晴 2024-12-29 09:28:54
DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
Date date = (Date)formatter.parse("Sat May 01 00:00:00 EDT 2010");
String string = new String(date.getYear() + "-" + date.getMonth() + "-" + date.getDay());

应该比 yyyy-MM-dd 效果更好。

DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
Date date = (Date)formatter.parse("Sat May 01 00:00:00 EDT 2010");
String string = new String(date.getYear() + "-" + date.getMonth() + "-" + date.getDay());

Should work better then just yyyy-MM-dd.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文