yyg1107

这家伙很懒,什么都没有留下
posts(15) comments(20) trackbacks(0)
  • BlogJava
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

公告

联系方式:     



常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类(11)

  •  axis(1)
  •  hibernate(1)
  •  java(2)
  •  js(2)
  •  other(5)

随笔档案(8)

  • 2008年6月 (1)
  • 2007年8月 (2)
  • 2007年4月 (3)
  • 2006年11月 (2)

文章分类(37)

  •  C++Builder(3)
  •  eclipse(2)
  •  html(4)
  •  java(8)
  •  jbpm(6)
  •  JS(4)
  •  other(4)
  •  question handly!(4)
  •  web容器(1)
  •  workflow(1)

文章档案(36)

  • 2007年4月 (2)
  • 2007年3月 (1)
  • 2007年1月 (2)
  • 2006年12月 (2)
  • 2006年11月 (3)
  • 2006年10月 (11)
  • 2006年9月 (2)
  • 2006年7月 (2)
  • 2006年6月 (1)
  • 2006年5月 (1)
  • 2006年4月 (6)
  • 2006年3月 (3)

新闻档案(1)

  • 2007年1月 (1)

收藏夹(16)

  •  好的BLOG(9)
  •  收藏----blog(7)

JavaBlog

  • amigoxie

matrix

搜索

  •  

积分与排名

  • 积分 - 32938
  • 排名 - 1316

最新评论

  • 1. re: JS实现文本框输入提供选择框的提示功能-1
  • werewrewrwer
  • --wrewrwe
  • 2. re: struts启动的一个错误!
  • 更名struts-config.xml, remove && add struts capability,重新生成一个config.xml。
  • --barryken
  • 3. p
  • 42
  • --2
  • 4. re: hql语句----随机查询取头10条记录[未登录]
  • 没意思,这不就是分页的那一部分代码嘛!
  • --啊啊
  • 5. re: 第一次做成功的AXIS例子[未登录]
  • 楼主:能不能留下你的联系方式!探讨一下相关问题...
  • --hehe

阅读排行榜

  • 1. JS实现文本框输入提供选择框的提示功能-1(7305)
  • 2. 第一次做成功的AXIS例子(2433)
  • 3. 命令行创建ODBC数据源(1547)
  • 4. struts启动的一个错误!(1271)
  • 5. hibernate调用存储过程例子(1010)

评论排行榜

  • 1. JS实现文本框输入提供选择框的提示功能-1(7)
  • 2. 第一次做成功的AXIS例子(5)
  • 3. struts启动的一个错误!(4)
  • 4. 转:如何在JAVA中使用日期 (0)
  • 5. 命令行创建ODBC数据源(0)

View Post

转:如何在JAVA中使用日期

如果想要取得系统的时间,可以使用System.currentTimeMillis()方法,例如:

DateDemo.java 
public   class  DateDemo 
{
    
public   static   void
 main(String[]
args) 
{
        System.out.println(System.currentTimeMillis());
    }

}
 


执行结果会显示从1970年1月1日开始到取得系统时间为止所经过的毫秒数,例如1115346430703这个数字,但这样的数字没有人确切了解它的意 义是什么,您可以使用Date类别来让这个数字变的更有意义一些,例如:

DateDemo.java

import
 java.util.Date;

public   class  DateDemo 
{
    
public   static   void
 main(String[]
args) 
{
        Date date 
=   new
 Date();
        
        System.out.println(date.toString());
        System.out.println(date.getTime());
    }

}
 


执行的结果如下:

  Fri May 06 10:31:13 GMT+08:00 2005
  1115346673531
  

当您生成Date对象时,实际上它会使用System.currentTimeMillis()来取得系统时间,而您使用
toString()方法时,会将取得的1970年1月1日至今的毫秒数转为dow mon dd hh:mm:ss zzz yyyy的格式,分别是:「星期 月 日 时:分:秒 公元」;使用Date的getTime()方法则可以取得毫秒数。

如果您想要对日期时间作格式设定,则可以使用DateFormat来作格式化,先来看看它的子类SimpleDateFormat如何使用:

DateDemo.java
import  java.text.DateFormat;
import  java.text.SimpleDateFormat;
import  java.util.Date;

public   class  DateDemo  {
    
public   static   void  main(String[]
args) 
{
        Date date 
=   new  Date();

        DateFormat dateFormat 
=  
            
new
SimpleDateFormat(
" EE-MM-dd-yyyy " );
        
        System.out.println(dateFormat.format(date));
    }

}
 

执行结果:

    星期五-05-06-2005

DateFormat会依计算机上的区域设定显示时间格式,EE表示星期,MM表示月份、dd表示日期,而yyyy是公元,每个字符的设定都各有其意义,您
可以参考 SimpleDateFormat 的API说明了解每个字符设定的意义。

您也可以直接从DateFormat指定格式生成DateFormat的实例,例如:

DateDemo.java

import  java.text.DateFormat;
import  java.util.Date;

public   class  DateDemo  {
    
public   static   void  main(String[]
args) 
{
        Date date 
=   new  Date(); 

        DateFormat shortFormat 
=  
            DateFormat.getDateTimeInstance( 
                DateFormat.SHORT,
DateFormat.SHORT); 

        DateFormat mediumFormat 
=  
            DateFormat.getDateTimeInstance( 
                DateFormat.MEDIUM,
DateFormat.MEDIUM); 

        DateFormat longFormat 
=  
            DateFormat.getDateTimeInstance( 
                DateFormat.LONG, DateFormat.LONG); 

        DateFormat fullFormat 
=  
            DateFormat.getDateTimeInstance( 
                DateFormat.FULL,
DateFormat.FULL); 

        System.out.println(shortFormat.format(date)); 
        System.out.println(mediumFormat.format(date)); 
        System.out.println(longFormat.format(date)); 
        System.out.println(fullFormat.format(date)); 
    }

}
 

在使用getDateTimeInstance()取得DateFormat实例时,可以指定的参数是日期格式与时间格式,以上所指定的格式依讯息详细度 区分,执行结果如下:

2005/5/6 上午 10:45
2005/5/6 上午 10:45:25
2005年5月6日 上午10时45分25秒
2005年5月6日 星期五 上午10时45分25秒 GMT+08:00  

您也可以使用getDateInstance()取得DateFormat实 例,并同时指定日期的区域显示方式,例如:

DateDemo.java     

import  java.text.DateFormat;
import  java.util.Date;
import  java.util.Locale;

public   class  DateDemo  {
    
public   static   void  main(String[]
args) 
{
        Date date 
=   new  Date(); 

        Locale locale 
=   new
Locale(
" en " ,  " US " );
        DateFormat shortFormat 
=  
            DateFormat.getDateInstance( 
                DateFormat.SHORT,
locale); 

        DateFormat mediumFormat 
=  
            DateFormat.getDateInstance( 
                DateFormat.MEDIUM,
locale); 

        DateFormat longFormat 
=  
            DateFormat.getDateInstance( 
                DateFormat.LONG, locale); 

        DateFormat fullFormat 
=  
            DateFormat.getDateInstance( 
                DateFormat.FULL, locale); 

        System.out.println(shortFormat.format(date)); 
        System.out.println(mediumFormat.format(date)); 
        System.out.println(longFormat.format(date)); 
        System.out.println(fullFormat.format(date)); 
    }

}
 

这边指定了美国的时间显示方式,执行结果如下:


  5/6/05
  May 6, 2005
  May 6, 2005
  Friday, May 6, 2005
 

-------------------------------------------------------------------------------------------------

1. 怎样计算两个时间之间的间隔?
间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数.
除1000是秒,再除60是分,再除60是小时..............................

记住java标准库中所有时间类都以此为基础转化的,只是他写好了一些
转化的方法给你用而已.但都离不开这个毫秒数为基础.

2. t=Calendar.getInstance();m=t.get(t.MONTH)+1;这里为什么要加一?

在java语言里,date的month的取值范围是:0~11,与人们的自然表达上相差1。


3. 系统时间与当前日期的区别?

系统时间确切的说应该是
System.currentTimeMillis();
new Date()是当前日期,虽然它getTime();和System.currentTimeMillis();
一样,但System.currentTimeMillis();


4. 如何计算两个日期的天数差值?

 

long  beginTime  =  beginDate.getTime(); 
long  endTime2  =  endDate.getTime(); 
long  betweenDays  =  ( long )((endTime  -  beginTime)  /  ( 1000   *   60   *   60   * 24 )  +   0.5 ); 

 

5. 如何比较日期时间大小?

第一种方法:
use Calendar object to compare
java.util.Calendar class can be used to compare date. In order to do this,
you guy should parse that string into int year, month, day and construct a
Calendar object, and then do comparison.

 

Below is a sample 

StringTokenizer token 
=   new  StringTokenizer(your string, " - " ); 
int  year  =  Integer.parseInt(token.nextToken()); 
int  month  =  Integer.parseInt(token.nextToken()); 
int  day  =  Integer.parseInt(token.nextToken()); 
Calendar date 
=  Calendar.getInstance(); 
date.set(year,month,day); 
Calendar today 
=  Calendar.getInstacne(); 
if (date.after(today)) { 
//  
}
 


第二种方法

Date nowDate = new  Date(); // 当前时间\r 
long  nowTime = nowDate.getTime; 
long  lastTime = userTime.longValue(); // 以前的时间\r 
long  time = nowTime - lastTime; // 时间相减比较。 
if (time > ( long ) 60000 ) // 1分钟{} 

另外可用以下参考
用时间戳,Date.getTime()可以把当前时间改成时间戳,
用CompareTo();
用before(),after(),equals();

6. 格式化日期的问题\r

目的:
第一次求日期

java.text.SimpleDateFormat formatter  =   new  java.text.SimpleDateFormat( " yyyy-MM-dd " ); 
String riqi
= formatter.format(currentTime_1); 


第二次求时间\r

java.text.DateFormat format1  =   new  java.text.SimpleDateFormat( " hhmmss " ); 
java.util.Date currentTime_2 
=   new  java.util.Date(); 
String shijian
= format1.format(currentTime_2); 

得到的结果是
2002-02-19和115324(11点53分24秒)

实现:

java.text.SimpleDateFormat formatter  =   new  java.text.SimpleDateFormat( " yyyy-MM-dd-H-mm-ss " ); 
java.util.Date currentTime_1 
=   new  java.util.Date(); 
String str_date 
=  formatter.format(currentTime_1); 
StringTokenizer token 
=   new  StringTokenizer(str_date, " - " ); 
String year 
=  token.nextToken(); 
String month
=  token.nextToken(); 
String day 
=  token.nextToken(); 
String hh 
=  token.nextToken(); 
String mm 
=  token.nextToken(); 
String ss 
=  token.nextToken(); 
String riqi
= year + " 年\\ " + month + " 月 " + day + " 日 " + "   " + hh + " 点\\ " + mm + " 分 " + ss + " 秒\\ " ; 
String newdir
= year + month + day; 
String wenjian 
=  hh + mm + ss; 

7. 怎么得到一个月的天数?

java.util.Calendar date  =  java.util.Calendar.getInstance(); 
System.out.println(date.getActualMaximum(date.DAY_OF_MONTH)); 

------------------------------------------------------------------------------------------------

 
取得指定月份的第一天与取得指定月份的最后一天 

        /** */ /**   
         *  取得指定月份的第一天  
         *  
         *  
@param   strdate  String  
         *  
@return   String  
         
*/
  
       
public   String  getMonthBegin(String  strdate)  
       
{  
               java.util.Date  date  
=   parseFormatDate(strdate);  
               
return   formatDateByFormat(date, " yyyy-MM " )   +    " -01 " ;  
       }
  

       
/** */ /**   
         *  取得指定月份的最后一天  
         *  
         *  
@param   strdate  String  
         *  
@return   String  
         
*/
  
       
public   String  getMonthEnd(String  strdate)  
       
{  
               java.util.Date  date  
=   parseFormatDate(getMonthBegin(strdate));  
               Calendar  calendar  
=   Calendar.getInstance();  
               calendar.setTime(date);  
               calendar.add(Calendar.MONTH,
1 );  
               calendar.add(Calendar.DAY_OF_YEAR,  
- 1 );  
               
return   formatDate(calendar.getTime());  
       }
  

       
/** */ /**   
         *  常用的格式化日期  
         *  
         *  
@param   date  Date  
         *  
@return   String  
         
*/
  
       
public   String  formatDate(java.util.Date  date)  
       
{  
               
return   formatDateByFormat(date, " yyyy-MM-dd " );  
       }
  

       
/** */ /**   
         *  以指定的格式来格式化日期  
         *  
         *  
@param   date  Date  
         *  
@param   format  String  
         *  
@return   String  
         
*/
  
       
public   String  formatDateByFormat(java.util.Date  date,String  format)  
       
{  
               String  result  
=    "" ;  
               
if (date   !=    null )  
               
{  
                       
try   
                       
{  
                               SimpleDateFormat  sdf  
=    new   SimpleDateFormat(format);  
                               result  
=   sdf.format(date);  
                       }
  
                       
catch (Exception  ex)  
                       
{  
                               LOGGER.info(
" date: "    +   date);  
                               ex.printStackTrace();  
                       }
  
               }
  
               
return   result;  
       }
  

--------------------------------------------------------------- 


------------------------------------------------------------------------------------------------------------------

来个简单点的,也许有点用 

package   com.app.util;  

/** */ /**   
*  日期操作  
*    
*  
@author   xxx  
*  
@version   2.0  jdk1.4.0  tomcat5.1.0  *  Updated  Date:2005/03/10  
*/
  
public    class   DateUtil   {  
           
/** */ /**   
             *  格式化日期  
             *    
             *  
@param   dateStr  
             *                        字符型日期  
             *  
@param   format  
             *                        格式  
             *  
@return   返回日期  
             
*/
  
           
public    static   java.util.Date  parseDate(String  dateStr,  String  format)   {  
                       java.util.Date  date  
=    null ;  
                       
try    {  
                                   java.text.DateFormat  df  
=    new   java.text.SimpleDateFormat(format);  
                                   String  dt
= Normal.parse(dateStr).replaceAll(  
                                                           
" - " ,   " / " );  
                                   
if (( ! dt.equals( "" )) && (dt.length() < format.length())) {  
                                               dt
+= format.substring(dt.length()).replaceAll( " [YyMmDdHhSs] " , " 0 " );  
                                   }
  
                                   date  
=   (java.util.Date)  df.parse(dt);  
                       }
   catch   (Exception  e)   {  
                       }
  
                       
return   date;  
           }
  

           
public    static   java.util.Date  parseDate(String  dateStr)   {  
                       
return   parseDate(dateStr,   " yyyy/MM/dd " );  
           }
  

           
public    static   java.util.Date  parseDate(java.sql.Date  date)   {  
                       
return   date;  
           }
  
             
           
public    static   java.sql.Date  parseSqlDate(java.util.Date  date)   {  
                       
if   (date   !=    null )  
                                   
return    new   java.sql.Date(date.getTime());  
                       
else   
                                   
return    null ;  
           }
  

           
public    static   java.sql.Date  parseSqlDate(String  dateStr,  String  format)   {  
                       java.util.Date  date  
=   parseDate(dateStr,  format);  
                       
return   parseSqlDate(date);  
           }
  

           
public    static   java.sql.Date  parseSqlDate(String  dateStr)   {  
                       
return   parseSqlDate(dateStr,   " yyyy/MM/dd " );  
           }
  

             
           
public    static   java.sql.Timestamp  parseTimestamp(String  dateStr,  
                                   String  format)  
{  
                       java.util.Date  date  
=   parseDate(dateStr,  format);  
                       
if   (date   !=    null )   {  
                                   
long   t   =   date.getTime();  
                                   
return    new   java.sql.Timestamp(t);  
                       }
   else   
                                   
return    null ;  
           }
  

           
public    static   java.sql.Timestamp  parseTimestamp(String  dateStr)   {  
                       
return   parseTimestamp(dateStr,   " yyyy/MM/dd  HH:mm:ss " );  
           }
  

           
/** */ /**   
             *  格式化输出日期  
             *    
             *  
@param   date  
             *                        日期  
             *  
@param   format  
             *                        格式  
             *  
@return   返回字符型日期  
             
*/
  
           
public    static   String  format(java.util.Date  date,  String  format)   {  
                       String  result  
=    "" ;  
                       
try    {  
                                   
if   (date   !=    null )   {  
                                               java.text.DateFormat  df  
=    new   java.text.SimpleDateFormat(format);  
                                               result  
=   df.format(date);  
                                   }
  
                       }
   catch   (Exception  e)   {  
                       }
  
                       
return   result;  
           }
  

           
public    static   String  format(java.util.Date  date)   {  
                       
return   format(date,   " yyyy/MM/dd " );  
           }
  

           
/** */ /**   
             *  返回年份  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回年份  
             
*/
  
           
public    static    int   getYear(java.util.Date  date)   {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.YEAR);  
           }
  

           
/** */ /**   
             *  返回月份  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回月份  
             
*/
  
           
public    static    int   getMonth(java.util.Date  date)   {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.MONTH)   +    1 ;  
           }
  

           
/** */ /**   
             *  返回日份  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回日份  
             
*/
  
           
public    static    int   getDay(java.util.Date  date)   {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.DAY_OF_MONTH);  
           }
  

           
/** */ /**   
             *  返回小时  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回小时  
             
*/
  
           
public    static    int   getHour(java.util.Date  date)   {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.HOUR_OF_DAY);  
           }
  

           
/** */ /**   
             *  返回分钟  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回分钟  
             
*/
  
           
public    static    int   getMinute(java.util.Date  date)   {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.MINUTE);  
           }
  

           
/** */ /**   
             *  返回秒钟  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回秒钟  
             
*/
  
           
public    static    int   getSecond(java.util.Date  date)   {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.SECOND);  
           }
  

           
/** */ /**   
             *  返回毫秒  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回毫秒  
             
*/
  
           
public    static    long   getMillis(java.util.Date  date)   {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.getTimeInMillis();  
           }
  

           
/** */ /**   
             *  返回字符型日期  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回字符型日期  
             
*/
  
           
public    static   String  getDate(java.util.Date  date)   {  
                       
return   format(date,   " yyyy/MM/dd " );  
           }
  

           
/** */ /**   
             *  返回字符型时间  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回字符型时间  
             
*/
  
           
public    static   String  getTime(java.util.Date  date)   {  
                       
return   format(date,   " HH:mm:ss " );  
           }
  

           
/** */ /**   
             *  返回字符型日期时间  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回字符型日期时间  
             
*/
  
           
public    static   String  getDateTime(java.util.Date  date)   {  
                       
return   format(date,   " yyyy/MM/dd  HH:mm:ss " );  
           }
  

           
/** */ /**   
             *  日期相加  
             *    
             *  
@param   date  
             *                        日期  
             *  
@param   day  
             *                        天数  
             *  
@return   返回相加后的日期  
             
*/
  
           
public    static   java.util.Date  addDate(java.util.Date  date,   int   day)   {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTimeInMillis(getMillis(date)  
+   (( long )  day)   *    24    *    3600    *    1000 );  
                       
return   c.getTime();  
           }
  

           
/** */ /**   
             *  日期相减  
             *    
             *  
@param   date  
             *                        日期  
             *  
@param   date1  
             *                        日期  
             *  
@return   返回相减后的日期  
             
*/
  
           
public    static    int   diffDate(java.util.Date  date,  java.util.Date  date1)   {  
                       
return   ( int )  ((getMillis(date)   -   getMillis(date1))   /   ( 24    *    3600    *    1000 ));  
           }
              
}
  
Calendar  now   =   Calendar.getInstance();  
int   year   =   now.get(Calendar.YEAR);  
int   date   =   now.get(Calendar.DAY_OF_MONTH);  
int   month   =   now.get(Calendar.MONTH)   +    1 ;  
int   hour   =   now.get(Calendar.HOUR);  
int   min   =   now.get(Calendar.MINUTE);  
int   sec   =   now.get(Calendar.SECOND);  

转自: http://www.513pc.net/bbs/dispbbs.asp?boardid=4&id=239&star=1&page=1

posted on 2006-11-16 11:03 young 阅读(259) 评论(0)  编辑  收藏 所属分类: java

新用户注册  刷新评论列表  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问   管理
相关文章:
  • Hibernate Gossip: 樂觀鎖定(Optimistic locking)
  • 转:如何在JAVA中使用日期
  • Jakarta Commons:巧用类和组件1 (3)
  • Jakarta Commons:巧用类和组件1 (2)
  • Jakarta Commons:巧用类和组件1 (1)
  • Struts VS Turbine [转]
  • JDBC数据库连接池
 
 
Powered by:
BlogJava
Copyright © young