2

我想String (returns string :odb.getCloseDate())在下面的代码中将其转换为日期。但是我没有得到这种格式的输出。请"23/10/2013"纠正我做错的地方。在数据库表中的值是这个格式:2013-06-30,我通过 bean 检索这个数据,即 odb.getCloseDate()。现在我需要以这个格式显示这个日期,即 23/10/2013。

        HSSFCell row1 = row.createCell((short) j);
        //row1.setCellType(row1.CELL_TYPE_NUMERIC);

        try
        {
            //row1.setCellValue( Date.parse(odb.getCloseDate()));
            DateFormat formatter;
            Date date;
            formatter = new SimpleDateFormat("dd/MM/yyyy");
            row1.setCellValue(date = formatter.parse(odb.getCloseDate()));

        }
        catch (Exception e)
        {
            row1.setCellValue(odb.getCloseDate());
        }
4

2 回答 2

3

日期和时间模式

mm表示MinutesMM表示Month

formatter  = new SimpleDateFormat("dd/MM/yyyy");

代替

formatter  = new SimpleDateFormat("dd/mm/yyyy");

尝试这个,

        String dateValue = "2013-06-30"; //consider as your date.
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");// First apply the patern to the incoming date value. Because it doesnt know the actual incming format
        Date actualDate = simpleDateFormat.parse(dateValue);
        simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
        System.out.println(simpleDateFormat.format(actualDate));
于 2013-10-24T08:20:08.477 回答
1

在你的日期格式 mm 应该是 MM

原因

m   Minute in hour

然而

M   Month in year

Month in year不需要Minute in hour

然后你的 for 格式化程序变成

formatter  = new SimpleDateFormat("dd/MM/yyyy");

在这里查看不同的格式。

于 2013-10-24T08:22:44.473 回答