App下載

Java怎么獲取當(dāng)前系統(tǒng)時(shí)間?如何自定義時(shí)間?

猿友 2021-05-20 17:51:57 瀏覽數(shù) (3975)
反饋

軟件中經(jīng)常需要使用到時(shí)間。特別是服務(wù)器,比如在服務(wù)器日志中寫入日志記錄時(shí)間,時(shí)間記錄功能和時(shí)間存儲(chǔ)功能。在 Java 中,有一個(gè) Date 類專門用來(lái)獲取當(dāng)前系統(tǒng)時(shí)間和自定義時(shí)間。接下來(lái),就讓小編帶你了解一下這個(gè)類。

常用的時(shí)間類- Date 類

時(shí)間類的使用非常簡(jiǎn)單,通過(guò)實(shí)例化 Date 對(duì)象即可使用。如果不進(jìn)行傳參的話,實(shí)例化的對(duì)象代表的就是當(dāng)前系統(tǒng)的時(shí)間。

通過(guò) ?get? 方法可以獲取到這個(gè) Date 對(duì)象的年月日時(shí)分秒和星期,不過(guò)在年和月份的情況需要進(jìn)行數(shù)據(jù)的處理(年份是以1900年為時(shí)間原點(diǎn),月份是從0月開(kāi)始)。

使用 ?set? 方法可以修改這個(gè) Date 對(duì)象的年月日時(shí)分秒和星期,不過(guò)在年和月份的情況需要先進(jìn)行數(shù)據(jù)的處理再設(shè)置(同上)。

import java.util.Date;
public class timeDate{
    public static void main(String[] args) {
        Date d1 = new Date();
        //創(chuàng)建一個(gè)代表系統(tǒng)當(dāng)前日期的Date對(duì)象
        System.out.println(d1);
        int year = d1.getYear()+1900;
        //可以使用get方法獲取這個(gè)Date對(duì)象的年月日時(shí)分秒和星期
        //在獲取年份的時(shí)候要加上1900才能獲得準(zhǔn)確年份
        System.out.println(year);
        int mouth =d1.getMonth()+1;
        //在獲取月份的時(shí)候要+1才能獲得準(zhǔn)確月份
        System.out.println(mouth);
        d1.setYear(2020-1900);
        //可以用set方法設(shè)置這個(gè)Date對(duì)象的年月日時(shí)分秒和星期
        //在設(shè)置年份的時(shí)候要減去1900才能獲得準(zhǔn)確年份
        //在設(shè)置月份的時(shí)候要-1才能設(shè)置準(zhǔn)確月份
        System.out.println(d1);
    }
}

更好的時(shí)間類- Calender 類

由于設(shè)計(jì)不足的原因,從 java 1.1開(kāi)始,Date 類的很多方法被棄用。這時(shí)候也可以考慮更好的時(shí)間類 Calender 類,這個(gè)類獲取時(shí)間的方式與 Date 類有所不同。代碼如下,可以進(jìn)行參考比較。

import java.util.Calendar;
public class timeCalender{
    public static void main(String[] args) {
        Calendar d1 = Calendar.getInstance();
         //創(chuàng)建一個(gè)代表系統(tǒng)當(dāng)前日期的Calender對(duì)象
        int year = d1.get(Calendar.YEAR);
        //獲取年份
        int mouth = d1.get(Calendar.MONTH)+1;
        //獲取月份(需要+1)
        int day = d1.get(Calendar.DAY_OF_MONTH);
        //獲取日期
        int hours = d1.get(Calendar.HOUR_OF_DAY);
        //獲取小時(shí)
        int minutes = d1.get(Calendar.MINUTE);
        //獲取分鐘
        int seconds = d1.get(Calendar.SECOND);
        //獲取秒
        System.out.println(year+"-"+mouth+"-"+day+"-"+hours+":"+minutes+":"+seconds);       
    }
}

小結(jié)

Date 類和 Calender 類都是 java 獲取當(dāng)前系統(tǒng)時(shí)間的常用方法。如果只是簡(jiǎn)單的獲取時(shí)間的話,Date 類已經(jīng)足以使用。如果要獲取更多的功能,使用 Calender 類會(huì)更加舒心。以上就是關(guān)于 java 獲取當(dāng)前系統(tǒng)時(shí)間的介紹,更多 java 知識(shí),請(qǐng)關(guān)注菜鳥(niǎo)自學(xué)Java教程


0 人點(diǎn)贊