軟件中經(jīng)常需要使用到時(shí)間。特別是服務(wù)器,比如在服務(wù)器日志中寫(xiě)入日志記錄時(shí)間,時(shí)間記錄功能和時(shí)間存儲(chǔ)功能。在 Java 中,有一個(gè) Date 類(lèi)專(zhuān)門(mén)用來(lái)獲取當(dāng)前系統(tǒng)時(shí)間和自定義時(shí)間。接下來(lái),就讓小編帶你了解一下這個(gè)類(lèi)。
常用的時(shí)間類(lèi)- Date 類(lèi)
時(shí)間類(lèi)的使用非常簡(jiǎn)單,通過(guò)實(shí)例化 Date 對(duì)象即可使用。如果不進(jìn)行傳參的話(huà),實(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í)間類(lèi)- Calender 類(lèi)
由于設(shè)計(jì)不足的原因,從 java 1.1開(kāi)始,Date 類(lèi)的很多方法被棄用。這時(shí)候也可以考慮更好的時(shí)間類(lèi) Calender 類(lèi),這個(gè)類(lèi)獲取時(shí)間的方式與 Date 類(lèi)有所不同。代碼如下,可以進(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 類(lèi)和 Calender 類(lèi)都是 java 獲取當(dāng)前系統(tǒng)時(shí)間的常用方法。如果只是簡(jiǎn)單的獲取時(shí)間的話(huà),Date 類(lèi)已經(jīng)足以使用。如果要獲取更多的功能,使用 Calender 類(lèi)會(huì)更加舒心。以上就是關(guān)于 java 獲取當(dāng)前系統(tǒng)時(shí)間的介紹,更多 java 知識(shí),請(qǐng)關(guān)注菜鳥(niǎo)自學(xué)Java教程。