java 日期時間類加Calendar的set和add方法


java.util.Date
  子類:
  java.sql.Date  
  java.sql.Time
  java.sql.Timestamp
java.text.SimpleDateFormat  (支持其它幾個時間類的格式化)
java.util.Calendar  Calendar類是一個抽象基類,主要用於日期之間的各種計算獲取  獲取對象的方式  Calendar cal = Calendar.getInstance();

java.util.Date日期格式為:年月日時分秒  在除了SQL語句的情況下面使用
java.sql.Date日期格式為:年月日    是針對SQL語句使用的
java.sql.Time日期格式為:時分秒      是針對SQL語句使用的
java.sql.Timestamp日期格式為:年月日時分秒納秒(毫微秒)

 1 import java.util.Date;
 2 
 3 public class DateTest {
 4     public static void main(String[] args) {
 5         Date date = new Date();
 6         System.out.println(date);
 7     }
 8 
 9 }
10 //執行結果:
11 //Thu Apr 04 12:49:59 CST 2019
 1 import java.sql.Date;
 2 //使用給定的毫秒時間值構造日期對象。如果給定的毫秒值包含時間信息,驅動程序將
 3 //把時間組件設置為默認時區(運行應用程序的Java虛擬機的時區)中對應於0 GMT的時間。
 4 public class DateTest {
 5     public static void main(String[] args) {
 6         Date date = new Date(111111111);
 7         System.out.println(date);
 8     }
 9 
10 }
11 執行結果:
12 1970-01-02
import java.sql.Time;
import java.util.Date;

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

}
執行結果:
13:08:42
 1 import java.sql.Timestamp;
 2 import java.util.Date;
 3 
 4 public class DateTest {
 5     public static void main(String[] args) {
 6         Date date = new Date();
 7         Timestamp ts = new Timestamp(date.getTime());
 8         System.out.println(ts);
 9     }
10 
11 }
12 執行結果
13 2019-04-04 13:11:11.761

java.text.SimpleDateFormat 

年月日格式

日期和時間模式 結果
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
    public static void main(String[] args) {
        Date date = new Date();
        DateFormat format = new SimpleDateFormat("yyy年MM月dd日  HH.mm.ss");
        System.out.println(format.format(date));
    }
}
執行結果:
2019年04月04日  13.19.38

java.util.Calendar

 1 import java.util.Calendar;
 2 
 3 public class DateTest {
 4     public static void main(String[] args) {
 5 //        Date date = new Date();
 6 //        DateFormat format = new SimpleDateFormat("yyy年MM月dd日  HH.mm.ss");
 7 //        System.out.println(format.format(date));
 8         Calendar cal = Calendar.getInstance();
 9         System.out.println(cal);
10     }
11 }
12 執行結果
13 java.util.GregorianCalendar[time=1554355353479,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=3,WEEK_OF_YEAR=14,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=94,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=22,SECOND=33,MILLISECOND=479,ZONE_OFFSET=28800000,DST_OFFSET=0]
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateTest {
    public static void main(String[] args) {
        DateFormat format = new SimpleDateFormat("yyy年MM月dd日  HH.mm.ss");
        Calendar cal = Calendar.getInstance();
//        Date date = new Date();
        String s = format.format(cal.getTime());
        System.out.println(s);

    }
}
執行結果:
2019年04月04日  13.28.09

 Calendar的set 和add方法區別

 1 import java.text.DateFormat;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Calendar;
 4 
 5 public class TestDemoCal {
 6     static void time(int year,int month,int day) {
 7         //輸出5月32號   沒有32號,所以輸出1號
 8         Calendar cal = Calendar.getInstance();
 9 //        因為月份是從0開始的,set是單純的設定日期,如果設定的日期不存在的話,他會向下移動。
10         cal.set(year, month, day);
11         DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
12         System.out.println(df.format(cal.getTime())); //格式化日期
13     }
14     public static void main(String[] args) {
15         
16         time(2019,4,32);
17     }
18 
19 }
20 //執行結果 
21 //2019-06-01
 1 import java.text.DateFormat;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Calendar;
 4 
 5 public class TestDemoCal {
 6     static void time(int field ,int amount) {
 7         //輸出5月32號   五月三十二號離四月五號有57天
 8         Calendar cal = Calendar.getInstance();
 9 //        add它移動的是日期的偏移量。
10         cal.add(field, amount);
11         DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
12         System.out.println(df.format(cal.getTime())); //格式化日期
13     }
14     public static void main(String[] args) {
15         
16         time(Calendar.DAY_OF_MONTH,57);
17     }
18 
19 }
20 //執行結果 
21 //2019-06-01

總結:想要更改輸出的日期,先在Calendar的實例上調用add或者set方法改變日期,然后格式化輸出cal.getTime(意思是獲取當前毫秒數,類型是Date類型),想要單獨獲取年月日可以調用get方法,例如:cal.get(Calendar.Year);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM