日期:2014-05-20  浏览次数:20777 次

时间转换问题:从格式为"yyyy-MM-dd"的日期转换成距离1970年1月1日的毫秒数,可再从得到的毫秒数怎么也转换不回去原来的日期
我的代码如下,请大家帮忙看看:
package   gui.portlet.iqa;

import   java.text.SimpleDateFormat;
import   java.util.Calendar;
import   java.util.Date;

import   util.IQAUtil;

public   class   test   {
        public   static   int   getSecondsFromDate(String   expireDate){
                if(expireDate   ==   null   ||   expireDate.trim().equals( " "))
                        return   0;
                Calendar   c   =   Calendar.getInstance();
                int   expireYear   =   Integer.parseInt(expireDate.substring(0,4));
                int   expireMonth   =   Integer.parseInt(expireDate.substring(5,7));
                int   expireDay   =   Integer.parseInt(expireDate.substring(8));
                c.set(expireYear,   expireMonth,   expireDay);
                long   time1   =   c.getTime().getTime();
//                 c.set(1970,1,   1);
//                 long   time2   =   c.getTime().getTime();
                return   (int)((time1)   /   1000);
        }
       
        public   static   String   getDateFromSeconds(String   seconds){
                if(seconds   ==   null   ||   seconds.trim().equals( " ")   ||   seconds.equals( "0 "))
                        return   " ";
                else{
                        Date   date   =   new   Date();
                        date.setTime(Long.parseLong(seconds)   *   1000);
                        SimpleDateFormat   sdf   =   new   SimpleDateFormat( "yyyy-MM-dd ");
                        return   sdf.format(date);
                }
        }
       
        public   static   void   main(String[]   arg0){
                int   i   =   IQAUtil.getSecondsFromDate( "2007-01-31 ");
                System.out.println(i);
                String   str   =   IQAUtil.getDateFromSeconds(String.valueOf(i));
                System.out.println(str);
               
        }