溫馨提示×

溫馨提示×

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

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

Java常用類之日期相關(guān)類如何使用

發(fā)布時間:2022-08-08 11:49:29 來源:億速云 閱讀:145 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“Java常用類之日期相關(guān)類如何使用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

日期相關(guān)類

1.Date類

在標(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類。

2.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);
        
    }
}

Java常用類之日期相關(guān)類如何使用

3.Calendar類

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ì)量的實用文章!

向AI問一下細節(jié)

免責(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)容。

AI