将日期转换为不同的格式

时间:2016-04-07 12:21:09

标签: java date date-format date-formatting

我正在尝试将日期转换为用户所需的格式。我想要所有格式的日期。 但格式化的日期是错误的,请帮助。

package DateFormat;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormat
{
    DateFormat() throws ParseException
    {
    String dateFormats[] =
    {
            "YYYY/MM/DD",
            "DD/MM/YYYY",
            "DD-MM-YYYY",
    };


    for (int i = 0; i < dateFormats.length; i++)
    {

        String newDate = new SimpleDateFormat(dateFormats[i]).format(new Date());
        System.out.println(newDate);
    }

    }

    public static void main(String[] args) throws ParseException
    {
    new DateFormat();
    }
}

输出

2016/04/98
98/04/2016
98-04-2016

谢谢。

2 个答案:

答案 0 :(得分:2)

D   Day in year Number  189
d   Day in month    Number  10

来自https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

因此,格式应如下所示:

String dateFormats[] =
{
        "yyyy/MM/dd",
        "dd/MM/yyyy",
        "dd-MM-yyyy",
};

答案 1 :(得分:2)

由于java代码语法区分大小写,它出错了。 请在https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

检查正确的日期和时间模式

您的String数组模式应转换为:

String dateFormats[] =
{
        "yyyy/MM/dd",
        "dd/MM/yyyy",
        "dd-MM-yyyy",
};