JAVA処理日時常用方法

8862 ワード

1.java.util.Calendarクラスは、YEAR、MONTH、DAYのような特定の瞬間のセットである抽象クラスです.OF_MONTH、HOURなどのカレンダーフィールド間の変換にはいくつかの方法があり、来週の日付の取得などのカレンダーフィールドの操作にいくつかの方法があります.瞬間はミリ秒値で表すことができます.これは、カレンダー(すなわち、グリニッジ標準時間1970年1月1日の00:00:00:0.000、グリゴリオ暦)からのオフセット量です.例:
Calendar cal = Calendar.getInstance();//

cal.add(Calendar.DAY_OF_MONTH, -1);//         .

cal.add(Calendar.DAY_OF_MONTH, +1);//         .



//         

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");

System.out.println("Today is:"+format.format(Calendar.getInstance().getTime()));

System.out.println("yesterday is:"+format.format(cal.getTime()));



  2007-12-25  :

Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0);

Date date = calendar.getTime();

System.out.println("2007 Christmas is:"+format.format(date));



java    0-11,       1.



GregorianCalendar         : , +1, , , , .



      :



int year =calendar.get(Calendar.YEAR);

int month=calendar.get(Calendar.MONTH)+1;

int day =calendar.get(Calendar.DAY_OF_MONTH);

int hour =calendar.get(Calendar.HOUR_OF_DAY);

int minute =calendar.get(Calendar.MINUTE);

int seconds =calendar.get(Calendar.SECOND);



           :

Calendar cal = Calendar.getInstance();

int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

System.out.println(day);

2.java.util.Date
java.util.Date today=new java.util.Date();

System.out.println("Today is "+formats.format(today));



       :

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01");

java.util.Date firstDay=new java.util.Date();

System.out.println("the month first day is "+formats.format(firstDay));

        :

Calendar cal = Calendar.getInstance();

int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH);

java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay);

System.out.println(formatter3.format(cal.getTime()));



            :

java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");

java.util.Date beginDate= format.parse("2007-12-24");

java.util.Date endDate= format.parse("2007-12-25");

long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);

System.out.println("     ="+day);


: java.text.Format formatter
=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date todayDate=new java.util.Date(); long beforeTime=(todayDate.getTime()/1000)-60*60*24*365; todayDate.setTime(beforeTime*1000); String beforeDate=formatter.format(todayDate); System.out.println(beforeDate);
: java.text.Format formatter
=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date todayDate=new java.util.Date(); long afterTime=(todayDate.getTime()/1000)+60*60*24*365; todayDate.setTime(afterTime*1000); String afterDate=formatter.format(todayDate); System.out.println(afterDate); 10 : java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper); Cal.add(java.util.Calendar.HOUR_OF_DAY,10); System.out.println("date:"+forma.format(Cal.getTime())); 10 : java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper); Cal.add(java.util.Calendar.HOUR_OF_DAY,-10); System.out.println("date:"+forma.format(Cal.getTime()));

3.java.sql.Dateはjava.util.Dateから継承され、データベースを操作するための日付タイプjava.sql.Date sqlDate=new java.sql.Date(java.sql.Date.valueOf("2007-12-25").gettime();日付比較:簡単な比較は文字列の形式で直接比較することもできるし、java.sql.Date.valueOf("2007-03-08").compareTo(java.sql.Date.valueOf("2007-03-18"))方式で日付の大きさを比較することもできる.java.util.Date.after(java.util.Date)を使って比較することもできる.差分時間:long difference=c 2.gettimeInMillis()-c 1.gettimeInMillis();位相差日数:long day=difference/(3600*24*1000)位相差時間:long hour=difference/(3600*1000)位相差分:long minute=difference/(60*1000)位相差秒:long second=difference/1000補足:
DateFormat df=new SimpleDateFormat("yyyy-MM-dd EE hh:mm:ss");

System.out.println(df.format(new Date()));

Date date = new Date();

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

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

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

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



system.out.println(shortDate.format(date));

System.out.println(mediumDate.format(date));

System.out.println(longDate.format(date));

System.out.println(fullDate.format(date));



08-4-15   3:24

2008-4-15 15:24:31

2008 4 15    03 24 31 

2008 4 15        03 24 31 CST





Calendar c = Calendar.getInstance();



c.add(Calendar.MONTH, 1); //      1  

System.out.println(df.format(c.getTime()));



c.add(Calendar.HOUR, 3); //      3  

System.out.println(df.format(c.getTime()));



c.add(Calendar.YEAR, -2); //      2 

System.out.println(df.format(c.getTime()));



c.add(Calendar.DAY_OF_WEEK, 7); //       7 

System.out.println(df.format(c.getTime()));

ソースアドレス:http://tiantiankaixin.iteye.com/blog/1543395