java - 将 "Friday, February 1, 2013"转换为 "2013-02-01"

标签 java date simpledateformat

如何在 Java 中执行此转换?

目前,我在做:

public static String formatDate(String strDateToFormat) {
    try {
        SimpleDateFormat sdfSource = new SimpleDateFormat("EEEE, MMMM DD, YYYY");
        Date date = sdfSource.parse(strDateToFormat);
        SimpleDateFormat sdfDestination = new SimpleDateFormat("yyyy-MM-dd");
        return sdfDestination.format(date);
    } catch (ParseException pe) {
        System.err.println("Parse Exception : " + pe);
    }

    return null;
}

但是,这会导致格式不正确。它给了我以下输出:

Friday, February 1, 2013 > 2013-01-04
Thursday, January 31, 2013 > 2013-01-03

最佳答案

您在解析部分使用了 DD,即一年中的某一天。您需要 dd 代替。您可能还需要 yyyy(年)而不是 YYYY(周年)。 (在大多数情况下,它们是相同的值,但并非总是如此。)

关于java - 将 "Friday, February 1, 2013"转换为 "2013-02-01",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677129/

相关文章:

java - Selenium with Java - 无法为下拉列表创建循环

windows - Java 应用程序阻止服务器在 JRE 更新后重新启动

java - 我正在尝试验证用户名和密码

java - 有没有办法根据美国格式字符串获取本地化日期/时间?

java - Android 中的 SimpleDateFormat 给出当前日期为 02/32/2011

java - 使用 Wildfly 的 JAX-RS ChunkedOutput 和 ChunkedInput

java - 日期和 GregorianCalendar 毫秒处理

sql - SQL语句-Java

java - 解析有效日期时出现 ParseException

android - 将UTC转换为伊朗本地时间