将日期格式从yyyy-mm-dd更改为yyyy / mm / dd

时间:2013-08-23 20:18:27

标签: java simpledateformat

 SimpleDateFormat p = new SimpleDateFormat("MM-dd-yyyy");
 String formatDate = p.format(temp.EXPIRATION_DATE()); 

//EXPIRATION_DATE is a DATE data type.

我能够按预期获得输出但是当我试图将其设置回来时, 需要所需的输出是DATE类型而不是String。 但是,如果解析它尝试使用DATE投射它,就像这样

DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy");
convertedDate = (Date) formatter.format(date);

我的输出是这样的:

Fri Aug 23 16:07:11 EDT 2013.

我需要输出为2013/08/23格式,它应该是DATE数据类型。 有什么方法可以实现这一点。 感谢

3 个答案:

答案 0 :(得分:1)

package com.sandbox;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Sandbox {

    public static void main(String[] args) throws IOException {
        SimpleDateFormat p = new SimpleDateFormat("yyyy/MM/dd");
        String formatDate = p.format(new Date());
        System.out.println(formatDate);
    }


}

format返回格式化日期。它不会修改Date对象。如果您想以格式打印出日期,则必须打印出format的回复。

答案 1 :(得分:1)

使用new SimpleDateFormat("yyyy/MM/dd");

答案 2 :(得分:1)

  

我需要输出为2013/08/23格式,它应该是DATE数据类型。有什么方法可以实现这一点。

不,这是不可能的。

Date对象只包含日期值。它没有关于显示日期的格式的任何信息。要以特定格式显示日期,您可以使用SimpleDateFormat - 在SimpleDateFormat对象上指定格式,然后使用它将Date转换为String }。