import java.util.*;
import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.awt.*;
public class re extends JFrame
{  
   
    
    JTextField tf=new JTextField();
    
   
    public re()
            
    { super();     
       Container con=getContentPane();
       SimpleDateFormat  dateformat=new SimpleDateFormat("yyyy-MM-DD   hh:mm:ss");
             Date date=new Date();
             String  now=(dateformat.format(date)).toString();
             tf.setText(now);
            
            
             con.add(tf);
            }
            
public static void main(String[] args)
{   

            re r=new re();
            r.setVisible(true);
}
}大家看下这段代码,可以运行,但结果却不对了,这是得到的结果:2008-02-49   11:02:29;这怎么回事?急!!!

解决方案 »

  1.   

    "yyyy-MM-DD       hh:mm:ss" -> "yyyy-MM-dd       HH:mm:ss" DD是今年的第49天, dd才是这个月的几号
    hh是12小时的表示 HH是24小时的表示PS:
    建议super(); 后加上this.setSize方法。多查API
      

  2.   

    分成2个format
        SimpleDateFormat dateformatD=new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat dateformatT=new SimpleDateFormat("hh:mm:ss");
        Date d = new Date();
        System.out.println(d);
        System.out.println(dateformatD.format(d));
        System.out.println(dateformatT.format(d));