CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2EE / EJB / JMS

java.util.date问题

楼主kyyzy(残空碎月)2006-09-14 17:01:34 在 Java / J2EE / EJB / JMS 提问

得当前时间  
      很多方法SUN在未来的   JDK中要弃用     现在发出警告     我主要的不相看到这些警告信息  
   
        我试了calendar不肥实现     不知道SUN把Date的   功能整合在那里了? 问题点数:40、回复次数:6Top

1 楼zunshanke2004()回复于 2006-09-14 17:06:49 得分 20

得当前时间直接用Date   date=new   java.util.Date();不就行了吗?这是jdk1.4的!  
  再给你附上别人写的操作时间的类!  
   
    public   class   DateUtils   {  
          private   final   static   String   FORMAT_DATE   =   "yyyy-MM-dd";  
            private   final   static   String   FORMAT_DATETIME   =   "yyyy-MM-dd   HH:mm:ss";  
   
            private   DateUtils()   {  
            }  
   
            /**  
              *  
              *   @param   source   Date  
              *   @return   String   日期时间字符串  
              */  
   
            public   static   String   datetimeToString(java.util.Date   source)   {  
                if(source==null){  
                    return   null;  
                }  
                String   tmpString   =   null;  
                SimpleDateFormat   simpleDateFormat   =   new   SimpleDateFormat(FORMAT_DATETIME);  
                try   {  
                    tmpString   =   simpleDateFormat.format(source);  
                }  
                catch   (Exception   e)   {  
                }  
                return   tmpString;  
            }  
   
            /**  
              *  
              *   @param   source   Date  
              *   @return   String     日期字符串  
              */  
            public   static   String   dateToString(Date   source)   {  
                if(source==null){  
                    return   null;  
                }  
                String   tmpString   =   null;  
                SimpleDateFormat   simpleDateFormat   =   new   SimpleDateFormat(FORMAT_DATE);  
                try   {  
                    tmpString   =   simpleDateFormat.format(source);  
                }  
                catch   (Exception   e)   {  
                }  
                return   tmpString;  
            }  
   
            /**  
              *   计算两个时间之间的月份长度  
              *  
              *   如   2004-1-23   到2004-4-05,月份差为4  
              *  
              *   @param   start  
              *   @param   end  
              *   @return  
              */  
            public   static   int   monthNumber(java.util.Date   start,java.util.Date   end){  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(start);  
                int   startMonth=calendar.get(Calendar.MONTH);  
                int   startYear=calendar.get(Calendar.YEAR);  
                calendar.setTime(end);  
                int   endMonth=calendar.get(Calendar.MONTH);  
                int   endYear=calendar.get(Calendar.YEAR);  
                int   number=1;  
                if(endYear>startYear){  
                    number=(endMonth-startMonth+1)   +   (endYear-startYear)   *   12;  
                }else   if(endYear<startYear){  
                    number=-((startMonth-endMonth+1)   +   (startYear-endYear)   *   12);  
                }else{  
                    if(endMonth>=startMonth){  
                        number=endMonth-startMonth+1;  
                    }else{  
                        number=-(startMonth-endMonth+1);  
                    }  
                }  
                return   number;  
            }  
           
   
            //将日期的月份加减  
            public   static   java.sql.Date   addMonth(java.util.Date   date,int   amount){  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                calendar.add(Calendar.MONTH,amount);  
                return   new   java.sql.Date(calendar.getTime().getTime());  
            }  
   
  }  
   
  Top

2 楼zunshanke2004()回复于 2006-09-14 17:07:03 得分 10

//将日期的天数加减  
            public   static   java.sql.Date   addDay(java.util.Date   date,int   amount){  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                calendar.add(Calendar.DAY_OF_MONTH,amount);  
                return   new   java.sql.Date(calendar.getTime().getTime());  
            }  
   
   
            //设置特定的月  
            public   static   java.sql.Date   setMonth(java.util.Date   date,int   month){  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                calendar.set(Calendar.MONTH,month-1);  
                return   new   java.sql.Date(calendar.getTime().getTime());  
            }  
   
            //设置特定的天(月中)  
            public   static   java.sql.Date   setDay(java.util.Date   date,int   day){  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                calendar.set(Calendar.DAY_OF_MONTH,day);  
                return   new   java.sql.Date(calendar.getTime().getTime());  
            }  
   
            //是否是同一天  
            public   static   boolean   isSameDay(java.util.Date   dateA,java.util.Date   dateB){  
                SimpleDateFormat   dateFormat   =   new   SimpleDateFormat(FORMAT_DATETIME);  
                return   dateFormat.format(dateA).equals(dateFormat.format(dateB));  
            }  
   
            //得到日期的年份  
            public   static   int   getYear(java.util.Date   date){  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                return   calendar.get(Calendar.YEAR);  
            }  
   
            //得到日期的月份  
            public   static   int   getMonth(java.util.Date   date){  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                return   calendar.get(Calendar.MONTH)+1;  
            }  
   
            //得到日期的天(月中)  
            public   static   int   getDay(java.util.Date   date){  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                return   calendar.get(Calendar.DAY_OF_MONTH);  
            }  
   
            //得到年,月,日的数组  
            public   static   int[]   getYMD(java.util.Date   date){  
                int[]   ymd=new   int[3];  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                ymd[0]=calendar.get(Calendar.YEAR);  
                ymd[1]=calendar.get(Calendar.MONTH)+1;  
                ymd[2]=calendar.get(Calendar.DAY_OF_MONTH);  
                return   ymd;  
            }  
   
            //2004年12月21日   星期二   11:12:34  
            public   static   String[]   getFullChineseDate(java.util.Date   date){  
                String[]   result=new   String[7];  
                String   []back=   new   String   [3];  
                GregorianCalendar   calendar=new   GregorianCalendar();  
                calendar.setTime(date);  
                result[0]=calendar.get(Calendar.YEAR)+"";  
                result[1]=(calendar.get(Calendar.MONTH)+1)+"";  
                result[2]=calendar.get(Calendar.DAY_OF_MONTH)+"";  
                result[3]=getChineseWeek(calendar.get(Calendar.DAY_OF_WEEK)-1);  
                result[4]=calendar.get(Calendar.HOUR_OF_DAY)+"";  
                if(calendar.get(Calendar.MINUTE)>0&&calendar.get(Calendar.MINUTE)<9){  
                    result[5]="0"+calendar.get(Calendar.MINUTE)+"";  
                }  
                else{  
                    result[5]=calendar.get(Calendar.MINUTE)+"";  
                }  
                            if(calendar.get(Calendar.SECOND)>=0&&calendar.get(Calendar.SECOND)<=9){  
                    result[6]="0"+calendar.get(Calendar.SECOND)+"";  
                }  
                else{  
                    result[6]=calendar.get(Calendar.SECOND)+"";  
                }  
                      //back[0]=result[0]+"年"   +   result[1]   +   "月"   +   result[2]+"日"   ;  
                    back[0]=result[0]+"-"   +   result[1]   +   "-"   +   result[2]   ;  
                    back[1]   =result[3];  
                    back[2]   =     result[4]   +   ":"   +   result[5]   +   ":"   +   result[6];  
                return   back   ;  
            }  
   
            public   static   String   getChineseWeek(int   number){  
                if(number<0   ||   number>6){  
                    return   null;  
                }  
                return   chineseWeekNames[number];  
            }  
   
            private   final   static   String[]   chineseWeekNames={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};  
   
            public   static   int   getMaxDay(int   year,int   month)   {  
                Calendar   calendar=new   GregorianCalendar();  
                calendar.set(year,month-1,1);  
                return   calendar.getActualMaximum(Calendar.DAY_OF_MONTH);  
            }  
            public   static   String   getYear(String   yearString){  
                    boolean   b=   Pattern.matches("[0-9]{1,4}",yearString);  
                    String   year="0";  
                    if(b)   year=yearString;  
                    return   year;  
            }  
            /**  
              *   验证日期*/  
            public   static   String   getDate(String   dateString){  
                int   t[]=new   int[3];  
                String   date="";  
                boolean   b   =   Pattern.matches("[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,2}",   dateString);  
                if(b)  
                {  
                        String   d[]=dateString.split("-");  
                        if(d.length!=3)   date="";  
                        for(int   i=0;i<3;i++){  
                                t[i]=Integer.parseInt(d[i]);  
                        }  
   
                        if(t[0]<=0||t[0]>9999)date="";  
                        if(t[1]<1||t[1]>12)date="";  
                        switch(t[1]){  
                                case   1:  
                                case   3:  
                                case   5:  
                                case   7:  
                                case   8:  
                                case   10:  
                                case   12:  
                                        if(t[2]<1||t[2]>31)date="";  
                                        else   date=String.valueOf(t[0])+"-"+String.valueOf(t[1])+"-"+String.valueOf(t[2]);  
                                        break;  
                                case   4:  
                                case   6:  
                                case   9:  
                                case   11:  
                                        if(t[2]<1||t[2]>30)date="";  
                                        else   date=String.valueOf(t[0])+"-"+String.valueOf(t[1])+"-"+String.valueOf(t[2]);  
                                        break;  
                                case   2:  
                                        if(t[1]%4==0&&(t[1]%100!=0||t[1]%400==0)){  
                                                if(t[2]<1||t[2]>29)date="";  
                                                else   date=String.valueOf(t[0])+"-"+String.valueOf(t[1])+"-"+String.valueOf(t[2]);  
                                        }  
                                        else{  
                                                if(t[2]<1||t[2]>28)   date="";  
                                                else   date=String.valueOf(t[0])+"-"+String.valueOf(t[1])+"-"+String.valueOf(t[2]);  
                                        }  
                                        break;  
                        }  
                }  
                return   date;  
            }  
   
            public   static   void   main(String[]   args)   {  
                System.out.println(""   +   DateUtils.getFullChineseDate(new   java.util.Date()));  
            }  
  Top

3 楼polarman(北极人http://blog.csdn.net/polarman)回复于 2006-09-14 17:07:26 得分 10

Calendar   cal   =   Calendar.getInstance();  
  int   hour   =   cal.get(Calendar.HOUR);  
  int   minute   =   cal.get(Calendar.MINUTE);  
  int   second   =   cal.get(Calendar.SECOND);Top

4 楼kyyzy(残空碎月)回复于 2006-09-14 17:09:31 得分 0

就是DATE类     编译的时候要发出警告   未来的DATE类的方法将删除  
        JDK1.6就没这些方法了Top

5 楼kyyzy(残空碎月)回复于 2006-09-14 17:15:04 得分 0

有没得DATE   的接口之类的。。。Top

6 楼yangweihu()回复于 2006-09-16 12:54:23 得分 0

这是DATE接口的问题Top

相关问题

关键词

得分解答快速导航

  • 帖主:kyyzy
  • zunshanke2004
  • zunshanke2004
  • polarman

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo