您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Java常用類之日期相關(guān)類如何使用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
在標(biāo)準(zhǔn)Java類庫中包含一個Date類,它的對象表示一個特定的瞬間,精確到毫秒。在網(wǎng)上商城下單時,在對報銷單進行審核時,都需要獲取當(dāng)前的時間,通過Date類就可以完成。
例子:Date類的使用
package li.normalclass.date; import java.util.Date; public class TestDate { public static void main(String[] args) { //獲取當(dāng)前的時間 格式為 yyyyMMddhhmmss Date date = new Date();//相當(dāng)于new Date(System.currentTimeMillis()) //操作當(dāng)前的時間 System.out.println(date.toString());//Sat Aug 06 19:15:28 CST 2022 System.out.println(date.toLocaleString());//2022-8-6 19:16:06 System.out.println(System.currentTimeMillis());//計算從1970年1月1日 0:00:00到目前為止的毫秒數(shù) System.out.println(date.getYear());//122 =2022-1900 System.out.println(date.getMonth());//7 0-11 現(xiàn)在是八月 System.out.println(date.getDate());//6 日 System.out.println(date.getDay());//6 當(dāng)前為星期六 注:星期日為0 System.out.println(date.getHours());//19 當(dāng)前為19點 System.out.println(date.getMinutes());//26 當(dāng)前為26分 System.out.println(date.getSeconds());//16 當(dāng)前為16秒 System.out.println(date.getTime());//1659785176358 計算從1970年1月1日 0:00:00到目前為止的毫秒數(shù) //獲取當(dāng)前的時間 格式為 yyyyMMdd java.sql.Date sdate = new java.sql.Date(System.currentTimeMillis()); System.out.println(sdate.toString());//2022-08-06 java.sql.Date sdate2 = java.sql.Date.valueOf("1896-9-10"); System.out.println(sdate2.toString());//1896-09-10 } }
查看API文檔大家可以看到其實Date類中的很多方法已經(jīng)過時了。JDK1.1之前的Date包含了日期操作、字符串轉(zhuǎn)化為對象等操作。經(jīng)過JDK1.1之后,日期操作類一般使用Calendar類,而字符串的轉(zhuǎn)化 使用DateFormat類。
Format:格式
DateFormat是一個抽象類,一般使用它的子類SimpleDateFormat類來實現(xiàn)。主要作用就是把時間對象轉(zhuǎn)化為指定格式的字符串。反之,就是把指定格式的字符串轉(zhuǎn)化為時間對象。
字符串----->日期
日期----->字符串
例子:
package li.normalclass.date; import java.text.*; import java.util.Date; /** * 主要操作: * DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定識別的格式 * * Date date = sdf.parse(strdate);//將字符串轉(zhuǎn)換成日期 * * String strdate2 = sdf.format(date);//將日期轉(zhuǎn)換成字符串 */ public class TestDateFormat { public static void main(String[] args) throws ParseException { String strdate = "1999-12-23 12:12:12";//字符串 //String---->Date //DateFormat是抽象類,要實例化只能引用它的子類SimpleDateFormat DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定識別的格式 Date date = sdf.parse(strdate);//將字符串轉(zhuǎn)換成日期 String strdate2 = sdf.format(date);//將日期轉(zhuǎn)換成字符串 System.out.println(strdate2); } }
Calendar:日歷
例子:
package li.normalclass.date; import java.util.Calendar; import java.util.GregorianCalendar; public class TestCalendar { public static void main(String[] args) { //獲取當(dāng)前的時間 Calendar cal = new GregorianCalendar(); // 輸出當(dāng)前的時間 System.out.println(cal); //java.util.GregorianCalendar[time=1659791839017,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=7,WEEK_OF_YEAR=32,WEEK_OF_MONTH=1,DAY_OF_MONTH=6,DAY_OF_YEAR=218,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=17,SECOND=19,MILLISECOND=17,ZONE_OFFSET=28800000,DST_OFFSET=0] System.out.println(cal.get(Calendar.YEAR));//2022 System.out.println(cal.get(Calendar.MONTH));//7 0~11 7代表8月 System.out.println(cal.get(Calendar.DATE));//6 代表6號 System.out.println(cal.get(Calendar.DAY_OF_WEEK));//7 代表周六 從周日為1開始計算一周 //改變時間 cal.set(Calendar.DATE,1);//直接指定日期 1號 cal.set(Calendar.MONTH,1);//直接指定月數(shù) 2月 cal.add(Calendar.DATE,2);//在設(shè)置的日期上再加上兩天 System.out.println(cal.get(Calendar.YEAR));//2022 -- 22年 System.out.println(cal.get(Calendar.MONTH));//1 -- 2月 System.out.println(cal.get(Calendar.DATE));//3 -- 3號 System.out.println(cal.get(Calendar.DAY_OF_WEEK));//5 -- 周四 System.out.println(cal.getActualMaximum(Calendar.DATE));//28 -- 指定月一共有多少天 } }
“Java常用類之日期相關(guān)類如何使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。