各位,请教一个棘手的问题:  1、JAVA中怎样把一个日期型 的字符串,如:2006-4-20,转换成一个日期型的,并于当前系统日期进行比较,还有,当前系统日期怎么得到。  2、怎么样控制GUI中一个文本框只能输入整数。也就是说这个文本框在输入完成后,提交的时候,在判断方法里怎么样实现这个判断功能。
谢 谢 了!!!!急。

解决方案 »

  1.   

    public String getDateNow()
        {
            SimpleDateFormat dateFormat=new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar c=Calendar.getInstance();
            return dateFormat.format(c.getTime());
        }把当前日期转换成日期格式比较
      

  2.   

    SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMdd" );
    sdf.setTimeZone( TimeZone.getTimeZone( "Asia/Tokyo" ) );
    String strSysDate = sdf.format( new Date() );
    String strDate = "2006-06-06";
    int date = Integer.parseInt(strSysDate.substring(6,8));
    int month = Integer.parseInt(strSysDate.substring(4,6));
    int year = Integer.parseInt(strSysDate.substring(0,4););
    Date d1 = new Date(Integer.parseInt(strDate.substring(0,4)),
    Integer.parseInt(strDate.substring(5,7)),
    Integer.parseInt(strDate.substring(8,10)));
    Date d2 = new Date(year,month,date);
    long date1 = d1.getTime() / (1000l*60*60*24);
    long date2 = d2.getTime() / (1000l*60*60*24);
    int ii = Integer.parseInt(String.valueOf(date2-date1));System.out.println("结果====>>>>"+ii);
      

  3.   

    1.Calendar c = Calendar.getInstance();
    System.out.println ("当前日期:"+c.getTime());

    2.Date d=new Date();
    System.out.println ("当前日期:"+d);用上面的任何一个方法都可以获得当前日期。
      

  4.   

    忘记给你加注释了
    //这里取系统日期
    SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMdd" );
    sdf.setTimeZone( TimeZone.getTimeZone( "Asia/Tokyo" ) );
    String strSysDate = sdf.format( new Date() );
    //定义一个日期
    String strDate = "2006-06-06";
    int date = Integer.parseInt(strSysDate.substring(6,8));
    int month = Integer.parseInt(strSysDate.substring(4,6));
    int year = Integer.parseInt(strSysDate.substring(0,4););//这两个Date就是转换
    Date d1 = new Date(Integer.parseInt(strDate.substring(0,4)),
    Integer.parseInt(strDate.substring(5,7)),
    Integer.parseInt(strDate.substring(8,10)));
    Date d2 = new Date(year,month,date);//相减
    long date1 = d1.getTime() / (1000l*60*60*24);
    long date2 = d2.getTime() / (1000l*60*60*24);
    int ii = Integer.parseInt(String.valueOf(date2-date1));System.out.println("结果====>>>>"+ii);
      

  5.   

    http://www.javaresearch.org/source/javaresearch/jrlib0.6/org/jr/swing/JNumberTextField.java.html
      

  6.   

    这样做的有些麻烦,为何你不试着去用提交的时候用MSG-BOX来实现呢?就是提交时把TEXT框的值得到判断,不是数字时就反馈错误信息,这样多简单/