请问如何将日期格式化?
注:格式化后返回一个java.util.Date对象,而不是返回一个java.lang.String对象以下为参考代码:import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class DateUtils {

public static Date getDate(String format) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(format);
String source = sdf.format(date);
try {
date = sdf.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}

return date;
}

public static void main(String args[]) {
System.out.println(getDate("yyyy-MM-dd HH-mm:ss"));
}
}
最终输出的结果格式为:Fri Jul 24 17:19:40 CST 2009,但我想得到的格式是:2009-07-24 17:19:40,而且是一个java.util.Date对象,请教各位高手,谢谢。

解决方案 »

  1.   

    Date类型本身跟输出格式没关系,所以你这个说法不对
      

  2.   

    java.util.Date 不存在格式这一说。
    想要什么格式,可以自己写函数来格式化,返回一个String.System.out.println(date); 调用的是date.toString方法,他是一个默认的格式化输出
    可以这么理解,date其实没有表现的格式,他只是记录了当前的时间一个long型的数字,具体怎么输出是我们自己的事情。
      

  3.   

    利用SimpleDateFormat 来处理日期就可以了。。
      

  4.   

    this.parseDate(dDate,"yyyy-MM-dd HH-mm:ss")
    直接转换成标准日期格式
      

  5.   

    this.parseDate(dDate,"yyyy-MM-dd HH-mm:ss") 
    直接转换成标准日期格式
      

  6.   

    曾经我也这么想过,但是经过实践明白了。
    只要是Date时间它只描述的是一个时间点,不存在任何的格式问题。
      

  7.   

    只能这样:
    写一个你自己的MyDate类,继承java.util.Date。然后重写toString()方法。按照你现在的代码,不可能得到你想要的结果的。
      

  8.   

    必须返回字符串才有格式一说,Data是内部形式,所有的展示都是外在的,必须用Formater,否则只能看默认的了。
      

  9.   

    纯粹是多此一举
    date = sdf.parse(source); 这句的作用是将一个人为的字符串格式成一个时间型的
    如果是new Date()这样的直接String source = sdf.format(date); 就行了
      

  10.   

    所谓的格式是表现形式,肯定是用Sting来表现的;Date对象本身并不存在格式一说,它只有一个实例属性就是一个long型的数(从元时间到给定时间的毫秒数),因此如何输出时间完全是根据Date对象已有的方法去编辑或重写他的方法
      

  11.   

    代码如下:
    给定一个java.util.Date对象,如何转化为”2007-3-22 20:23:22”格式的字符串 
    /** 
        *将某个日期以固定格式转化成字符串 
        *@paramdate 
        *@returnstr 
        */ 
        public String dateToStr(java.util.Date date) 
        { 
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
          String str = sdf.format(date); 
          return str; 
        } 
      

  12.   

    import java.text.ParseException; 
    import java.text.SimpleDateFormat; 
    import java.util.Date; public class DateUtils { public static String getDate(String format) { 
    Date date = new Date(); 
    SimpleDateFormat sdf = new SimpleDateFormat(format); 
    String source = sdf.format(date); 
    return source; 
    } public static void main(String args[]) { 
    System.out.println(getDate("yyyy-MM-dd HH-mm:ss").toString()); 


    2009-07-26 16-04:14
      

  13.   

    写一个你自己的MyDate类,继承java.util.Date。然后重写toString()方法。
      

  14.   

    /**
     * date 转化成 String
     * @param date java.util.date 类型
     * @param pattern  转化成的格式 "yyyy年MM月dd日 HH小时mm分ss秒"
     * @return String
     */
    public static String formatDate(Date date,String pattern) {
    if (pattern == null || pattern.equals("") || pattern.equals("null")) {
    pattern = "yyyy-MM-dd";
    }
    SimpleDateFormat simple = new SimpleDateFormat(pattern);
    String str = simple.format(date);
    return str;
    }
      

  15.   

    import java.util.Date;
    /*********************************************************************************************************/
    /*******************************************************/
    /*****    函数名称: GetCreateDate()     ******/
    /******   功    能: 返回的建立日期       ******/
    /******   参    数: 无                           ******/
    /******   返回值  : String mDateTime---返回结果 ******/
    /*******************************************************/
    public String GetCreateDate()
    {
    String M_Year="",M_Month="",M_Date;
          String s="";
          String RNum="";//返回的编号
          Calendar cal = Calendar.getInstance();
          SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH-mm:ss");
          String mDateTime=formatter.format(cal.getTime());
       return mDateTime;
    }
      

  16.   

    impleDateFormat sdf = new SimpleDateFormat(format); 
    String source = sdf.format(date); 
    getDate("yyyy-MM-dd HH-mm:ss").toString()); 
      

  17.   

    谢谢,问题已解决.
    import java.text.SimpleDateFormat;
    import java.util.Date;public class DateUtils {

    private static String format = "yyyy-MM-dd HH:mm:ss";
    private static SimpleDateFormat sdf = null;

    public static Date getDate() {
    return new MyDate();
    } public static String getFormat() {
    return format;
    } public static void setFormat(String format) {
    DateUtils.format = format;
    }

    static class MyDate extends Date {

    private static final long serialVersionUID = 1L;

    public MyDate() {
    super();
    }

    @Override
    public String toString() {
    sdf = new SimpleDateFormat(format);
    String s = sdf.format(this);
    return s;
    }
    }
    }
      

  18.   

    public static String getDate(String format) {
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    String source = sdf.format(date);
    return source;
    }