private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
      // TODO add your handling code here:
       JFormattedTextField jTextDate = getTextField(dateJSpinner);
       String strDate = jTextDate.getText();
    
       System.out.println(strDate);
    }
    public JFormattedTextField getTextField(JSpinner spinner) {
        JComponent editor = spinner.getEditor();
        if (editor instanceof JSpinner.DefaultEditor) {
            return ((JSpinner.DefaultEditor)editor).getTextField();
        } else {
            System.err.println("Unexpected editor type: "
                               + spinner.getEditor().getClass()
                               + " isn't a descendant of DefaultEditor");
            return null;
        }
    }
//得到spinner的日期在jButton1ActionPerformed中,想得到这个日期(格式0000-00-00)的的前一天日期,前一个月的日前,前一年的日期?是按String 的运算能得到吗?还是别的?
    

解决方案 »

  1.   

    JODA time 你网上搜索一下吧.很好用的包
      

  2.   

    获得一个Calendar实例,在利用add方法。类似:
    cal.add( GregorianCalendar.MONTH , -2 );
    cal.add( GregorianCalendar.YEAR , 1 );想减去多少天都可以。
      

  3.   

            Calendar cal = Calendar.getInstance();
            Calendar calClone = (Calendar) cal.clone();
            calClone.setTime(new Date());
            calClone.set(Calendar.DAY_OF_YEAR, calClone.get(Calendar.DAY_OF_YEAR) - 1);
            System.out.println(calClone.getTime());        calClone = (Calendar) cal.clone();
            calClone.setTime(new Date());
            calClone.set(Calendar.MONTH, calClone.get(Calendar.MONTH) - 1);
            System.out.println(calClone.getTime());        calClone = (Calendar) cal.clone();
            calClone.setTime(new Date());
            calClone.set(Calendar.YEAR, calClone.get(Calendar.YEAR) - 1);                
            System.out.println(calClone.getTime());
      

  4.   

    好像写多了
            Calendar cal = Calendar.getInstance();
            Calendar calClone = (Calendar) cal.clone();
            calClone.set(Calendar.DAY_OF_YEAR, calClone.get(Calendar.DAY_OF_YEAR) - 1);
            System.out.println(calClone.getTime());        calClone = (Calendar) cal.clone();
            calClone.set(Calendar.MONTH, calClone.get(Calendar.MONTH) - 1);
            System.out.println(calClone.getTime());        calClone = (Calendar) cal.clone();
            calClone.set(Calendar.YEAR, calClone.get(Calendar.YEAR) - 1);                
            System.out.println(calClone.getTime());
      

  5.   

    cal.add( GregorianCalendar.MONTH , -2 ); 
    cal.add( GregorianCalendar.YEAR , 1 ); 
      

  6.   

    看看这个:
    http://blog.csdn.net/dazhen520/archive/2007/05/29/1629914.aspxhttp://blog.csdn.net/dazhen520/archive/2007/05/29/1629220.aspx
      

  7.   

    一定要gregoriencalender,
    juliancalendar 没有润日
    Calendar calendar = new GregorianCalendar(pdt);