更新時(shí)間:2022-12-16 11:19:26 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1479次
在Java基礎(chǔ)教程中,大家會(huì)學(xué)到時(shí)間類型,那么,Java時(shí)間類型都有哪些?動(dòng)力節(jié)點(diǎn)小編來告訴大家。
代碼如下(示例):
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;
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());
}
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.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é)果:
本地日期類:
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í)間
}
以上就是日期時(shí)間類的內(nèi)容,分別是:
Date類、
Calendar類
SimpleDateFormat類
LoclDate類 - 本地日期類
LocalTime類 - 本地時(shí)間類
LocalDateTime類 - 本地日期時(shí)間類;
以上就是關(guān)于“Java時(shí)間類型的總結(jié)”,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來關(guān)注一下本站的Java視頻教程,里面的課程內(nèi)容細(xì)致全面,通俗易懂,很適合0基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助哦。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743