Java取得時間に関するクラス:Dateクラス、SimpleDateFormatクラス、Calendarクラス

7423 ワード

Dateクラス
Dateクラスの概要(utilパッケージの下)
クラスDateは特定の瞬間を表し、秒まで正確である.
構築方法
public Date() public Date(long time)
import java.util.Date;
public class test {
    public static void main(String[] args) {
    
        Date d1=new Date();    //             
        System.out.println(d1);   
        
        Date d2=new Date(0);    //           0    1970 1 1 
        System.out.println(d2);
    }
    
}
  :
Mon Sep 11 20:36:54 CST 2017
Thu Jan 01 08:00:00 CST 1970

メンバーメソッド
public long getTime() public void setTime(long time)
import java.util.Date;
public class test {
    public static void main(String[] args) {
    
        Date d1=new Date();    //             
        System.out.println(d1.getTime());     //           
        
        System.out.println(System.currentTimeMillis());  //       
    }
    
}
  :
1505133692683
1505133692683
import java.util.Date;
public class test {
    public static void main(String[] args) {
    
        Date d1=new Date();    //             
        d1.setTime(1000);      //           
        System.out.println(d1);     
    }
    
}
  :
Thu Jan 01 08:00:01 CST 1970

SimpleDateFormatクラス
SimpleDateFormatクラスの概要
DateFormatは、日付/時間フォーマットサブクラスの抽象クラスであり、言語に関係なく日付または時間をフォーマットして解析します.抽象クラスなので、そのサブクラスSimpleDateFormatを使用します.
SimpleDateFormat構築方法
public SimpleDateFormat() public SimpleDateFormat(String pattern)
SimpleDateFormatメンバーメソッド
public final String format(Date date) public Date parse(String source)
import java.text.SimpleDateFormat;
import java.util.Date;
public class test {
    public static void main(String[] args) {
    
        Date d=new Date();    //             
        SimpleDateFormat sdf=new SimpleDateFormat(); //         
        System.out.println(sdf.format(d));     
    }
    
}
  :
17-9-11   9:03
import java.text.SimpleDateFormat;
import java.util.Date;
public class test {
    public static void main(String[] args) {
    
        Date d=new Date();    //             
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd  HH:mm:ss"); //         
        System.out.println(sdf.format(d));     
    }
    
}
  :
2017/09/11  21:05:58
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class test {

    public static void main(String[] args) {
        //Date d=new Date();
        String str="1993-06-08 12:35:06";
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try{
            Date d= sdf.parse(str);  //            
            System.out.println(d);
        }
        catch(ParseException e){
            e.printStackTrace();
            
        }
        
    }
    
}
  :
Tue Jun 08 12:35:06 CST 1993

あなたがこの世界に来た何日の需要を計算します:あなたがこの世界に来た何日を計算しますか?分析:1.誕生日文字列と今日の文字列をStringタイプの変数に2.日付書式設定オブジェクト3を定義する.日付文字列を日付オブジェクト4に変換する.日付オブジェクトから取得する時間ミリ秒値5.2つの時間を1000で割る、60で割る.さらに60で割って、更に24で割って日を得ます
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class test {

    public static void main(String[] args) {
        
        //1.              String      
        String birthday="1993-06-08";
        String today="2017-09-12";
        //2.         
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        
        try{
            //3.             
            Date db= sdf.parse(birthday);  //            
            Date dt=sdf.parse(today);
            //4.             
            long time=dt.getTime()-db.getTime();
            //5.         1000,   60.   60,   24   
            System.out.println(time/1000/60/60/24);
        }
        catch(ParseException e){
            e.printStackTrace();
            
        }
        
    }
    
}
  :
8862

Calendarクラス
Calendarクラスの概要
Calendarクラスは抽象クラスであり、YEAR、MONTH、DAYなどの特定の瞬間のセットである.OF_MONTH、HOURなどのカレンダーフィールド間の変換にはいくつかの方法があり、来週の日付の取得などのカレンダーフィールドの操作にいくつかの方法があります.
メンバーメソッド
public static Calendar getInstance() public int get(int field) public void add(int field,int amount) public final void set(int year,int month,int date)
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class test {
    public static void main(String[] args) {
        
        Calendar c=Calendar.getInstance();    //          
        
        System.out.println(c.get(Calendar.YEAR));  //        
        System.out.println(c.get(Calendar.MONTH));   //       ,     0     
        System.out.println(c.get(Calendar.DAY_OF_MONTH));    //     
        System.out.println(c.get(Calendar.DAY_OF_WEEK));    //     ,      ,       
        
        System.out.println(c.get(Calendar.YEAR)+" "+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH)+"    "+getWeek(c.get(Calendar.DAY_OF_WEEK)));
        
        
        
    }
    
    public static String getWeek(int week){
        String[] arr={"","   ","   ","   ","   ","   ","   ","   "};
        return arr[week];
    }
}
  :
2017
8
12
3
2017 9 12       
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class test {
    public static void main(String[] args) {
        
        Calendar c=Calendar.getInstance();    //          
        
        c.add(Calendar.DAY_OF_MONTH, -1);   //                
        c.set(c.YEAR, 1993);                  //      
        
        System.out.println(c.get(Calendar.YEAR)+" "+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH)+"    "+getWeek(c.get(Calendar.DAY_OF_WEEK)));
        
        c.set(1993, 5, 8);
        System.out.println(c.get(Calendar.YEAR)+" "+(c.get(Calendar.MONTH)+1)+" "+c.get(Calendar.DAY_OF_MONTH)+"    "+getWeek(c.get(Calendar.DAY_OF_WEEK)));
        
    }
    
    public static String getWeek(int week){
        String[] arr={"","   ","   ","   ","   ","   ","   ","   "};
        return arr[week];
    }
}
  :
1993 9 11       
1993 6 8       

ケーススタディ
需要:キーボードは任意の年を入力し、その年が閏年か平年かを判断する:1.キーボード入力年Scanner 2.Calendar c=Calendarを作成するgetInstance() 3.setメソッドでその年の3月1日4に設定.日を前に1 5を引く.日付が何日であるかを判断し、29日であれば閏年を出力します.そうでなければ平年を出力します.
import java.util.Calendar;
import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        String str;
        //1.        Scanner
        Scanner sc=new Scanner(System.in);
        System.out.println("     :");
        int year=sc.nextInt();
        
        //2.  Calendar c=Calendar.getInstance()
        Calendar c=Calendar.getInstance();    //          
        
        //3.  set         3 1 
        c.set(year, 2, 1);
        
        //4.      1
        c.set(c.DAY_OF_MONTH, -1);
        
        //5.        ,   29            
        if(c.get(Calendar.DAY_OF_MONTH)==29)
             str="  ";
        else
             str="  ";
        
        System.out.println(year+"  "+str);
    }
    
}
  :
     :
1993
1993    

転載先:https://www.cnblogs.com/bbn0111/p/7508690.html