溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在JAVA中使用日期時(shí)間類

發(fā)布時(shí)間:2020-11-05 18:19:27 來源:億速云 閱讀:156 作者:Leah 欄目:開發(fā)技術(shù)

如何在JAVA中使用日期時(shí)間類?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

一.日期時(shí)間類的包

代碼如下(示例):

java.util.Date;
java.time.format.DateTimeFormatter;
java.util.Calendar
java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

二.Data類

java.util.Date;

Date類是我們之前常用的一個(gè)日期和時(shí)間的對(duì)象,此類在 java.util 包中,并不是java.sql中的Date

代碼如下(示例):

public static void main(String[] args) {
		Date a=new Date();
		System.out.println(a);//當(dāng)前時(shí)間
		
		Date b=new Date(System.currentTimeMillis());//當(dāng)前時(shí)間
		
		System.out.println(b);//Wed Aug 26 08:26:32 CST 2020
		//常用方法:
		//年	必須加上1900
		System.out.println(a.getYear()+1900);
		//月	0~11 必須加1
		System.out.println(a.getMonth()+1);
		//日	1-31 不用加
		System.out.println(a.getDate());
		//轉(zhuǎn)換成String
		System.out.println(a.toString());	//Wed Aug 26 08:26:32 CST 2020
		//轉(zhuǎn)換為GNT時(shí)區(qū)
		System.out.println(a.toGMTString());
		//轉(zhuǎn)換為本地時(shí)區(qū)
		System.out.println(a.toLocaleString());
	}

三.SimpleDateFormat類

java.text.SimpleDateFormat

格式化輸出日期,此類提供了一些預(yù)定義字符串或者稱之為占位符:

yyyy:年

MM:月

dd: 日

HH: 小時(shí)

mm: 分鐘

ss: 秒

格式化時(shí)間:

public static void main(String[] args) {
		Date aa=new Date();
		SimpleDateFormat aa1=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
		String str=aa1.format(aa);
		System.out.println(str);
		
		f();
	}
	public static void f() {
		Date a=new Date();
		DateTimeFormatter w=DateTimeFormatter.ofPattern("yyyy-MM-dd-HH:mm:ss");
		String t=w.format(LocalDateTime.now());
		System.out.println(t);
	
	}

如何在JAVA中使用日期時(shí)間類

四. Calendar類 -日歷類

java.util.Calendar

日歷類Calendar更多的是代表年 月 日 周 星期 上午 下午 夏時(shí)令等這樣內(nèi)容,Date用于記錄某一個(gè)含日期的、精確到毫秒的時(shí)間。重點(diǎn)在代表一剎那的時(shí)間本身;

常用方法:

Calendar.YEAR:年

Calendar.MONTH:月 需要加1

Calendar.DAY_OF_MONTH:日

Calendar.HOUR:時(shí)

Calendar.MINUTE:分

Calendar.SECOND:秒

代碼演示:

public static void main(String[] args) {
		Calendar a=Calendar.getInstance();
			Date b=a.getTime();
			System.out.println(b);	//當(dāng)前時(shí)間,這樣的格式Wed Aug 26 08:44:06 CST 2020
			//年
			int year=a.get(Calendar.YEAR);
			//月
			int mon =a.get(Calendar.MONTH)+1;
			//日
			int day=a.get(Calendar.DATE);
			//日
			int d=a.get(Calendar.DAY_OF_MONTH);
			
			System.out.println(year+"-"+mon+"-"+day);//2020-8-26
			System.out.println(year+"年"+mon+"月"+d+"日");//2020年8月26日
			
			//從今年初到現(xiàn)在過去了多少天:
			int t=a.get(Calendar.DAY_OF_YEAR);
			System.out.println(t);//從2020年到現(xiàn)在過去了239天
			
			//當(dāng)前小時(shí)數(shù)
			int shi=a.get(Calendar.HOUR);
			System.out.println(shi+"時(shí)");//當(dāng)前是幾點(diǎn)
			//當(dāng)前分鐘數(shù)
			int fen=a.get(Calendar.MINUTE);
			System.out.println(fen+"分");//當(dāng)前分鐘數(shù);
			//當(dāng)前秒數(shù)
			int miao =a.get(Calendar.SECOND);
			System.out.println(miao+"秒");
			
			System.out.println(year+"年"+mon+"月"+day+"日"+shi+"時(shí)"+fen+"分"+miao+"秒");//2020年8月26日8時(shí)46分25秒
			
			//格式化輸出
			Date aa=new Date();
			SimpleDateFormat aa1=new SimpleDateFormat("yyyy年MM月dd日HH時(shí)mm分ss秒");
			
			
			System.out.println(aa1.format(aa));
			f2();//從當(dāng)前時(shí)間計(jì)算n天后的日期
			f3();//比較日期的先后,返回布爾值
	}
	
	public static void f2() {
		
		Calendar c3 = Calendar.getInstance();
		c3.add(Calendar.DATE,+10);
		int year = c3.get(Calendar.YEAR);
		int month = c3.get(Calendar.MONTH)+1;
		int date = c3.get(Calendar.DATE);
		
		System.out.println(year+"年"+month+"月"+date+"日");//十天后是九月五日
	}
	
	public static void f3() {
		Calendar c1=Calendar.getInstance();
		c1.set(2020,4,12);
		Calendar c2=Calendar.getInstance();
		c2.set(2020,6,10);
		boolean b=c2.after(c1);//前面的與括號(hào)內(nèi)相比較,在前還是在后(返回的是布爾值,true或者false)
		System.out.println(b);
	}

程序結(jié)果:

如何在JAVA中使用日期時(shí)間類

五.新增時(shí)間類

本地日期類:

LoclDate類 - 本地日期類
LocalDate a=LocalDate.now();

本地時(shí)間類:

LocalTime類 - 本地時(shí)間類
LocalTime time=LocalTime.now();

本地日期時(shí)間類:

LocalDateTime類 - 本地日期時(shí)間類;
LocalDateTime b=LocalDateTime.now();

常用方法:

代碼演示:

public static void main(String[] args) {
		f1();
		f2();
		f3();
		f4();
		f5();
	

	}
	public static void f1() {
		LocalDate a=LocalDate.now();//當(dāng)前日期
		LocalTime time=LocalTime.now();//當(dāng)前時(shí)間
		LocalDateTime b=LocalDateTime.now();//當(dāng)前年月日時(shí)分秒
		System.out.println(a);
		System.out.println(time);
		System.out.println(b);
	}
	public static void f2() {
		//更規(guī)范操作
				LocalDateTime a=LocalDateTime.now();//當(dāng)前年月日時(shí)分秒
				LocalDate a1=a.toLocalDate();//當(dāng)前日期
				LocalTime a2=a.toLocalTime();//當(dāng)前時(shí)間
				System.out.println(a);
				System.out.println(a1);
				System.out.println(a2);
	}
	public static void f3() {
		LocalDateTime a=LocalDateTime.now();
		System.out.println(a.getYear());//輸出年
		System.out.println(a.getMonth());//月(英文)
		System.out.println(a.getMonthValue());//月(中文)
		System.out.println(a.getDayOfMonth());//日
		System.out.println(a.getDayOfYear());//今年第一天到現(xiàn)在有多少天;
		System.out.println(a.getDayOfWeek());//星期
		System.out.println(a.getHour());//時(shí)
		System.out.println(a.getMinute());//分鐘
		System.out.println(a.getSecond());//秒
	}
	public static void f4() {
		//給定時(shí)間并輸出
		LocalDate a=LocalDate.of(2020,8, 26);
		LocalTime b=LocalTime.of(9, 10, 03);
		LocalDateTime c=LocalDateTime.of(a, b);
		
		LocalDateTime d=LocalDateTime.of(2020, 8, 26, 9, 10, 03);
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
	}
	
	public static void f5() {
		//按照指定的格式進(jìn)行日期時(shí)間的輸出
		Date a=new Date();
		DateTimeFormatter w=DateTimeFormatter.ofPattern("yyyy年MM月dd日HH時(shí)mm分ss秒");
		String t=w.format(LocalDateTime.now());
		System.out.println(t);//當(dāng)前時(shí)間

	}

如何在JAVA中使用日期時(shí)間類

總結(jié)

以上就是日期時(shí)間類的內(nèi)容,分別是:

  • Date類、
  • Calendar類
  • SimpleDateFormat類
  • LoclDate類 - 本地日期類
  • LocalTime類 - 本地時(shí)間類
  • LocalDateTime類 - 本地日期時(shí)間類;

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI