Java中的日期和時(shí)間類提供獲取年月日和毫秒數(shù)的方法,讓開發(fā)者可以方便地獲取時(shí)間信息并進(jìn)行各種操作。
//獲取當(dāng)前時(shí)間 Date now = new Date(); //獲取當(dāng)前時(shí)間的毫秒數(shù) long millisecond = now.getTime(); //將毫秒數(shù)轉(zhuǎn)換為日期對(duì)象 Date date = new Date(millisecond); //獲取日期對(duì)象的年月日 int year = date.getYear() + 1900; int month = date.getMonth() + 1; int day = date.getDate();
值得注意的是,Date類的getYear()方法返回的是從1900年開始到現(xiàn)在的年數(shù),因此需要加上1900才是真正的年份,而getMonth()方法返回的是從0開始計(jì)數(shù)的月份,需要再加1才是正確的月份。
//構(gòu)造指定年月日的日期對(duì)象 Date date = new Date(year - 1900, month - 1, day); //將日期對(duì)象轉(zhuǎn)換為毫秒數(shù) long millisecond = date.getTime();
除了使用Date類,還可以使用Calendar類來(lái)獲取年月日和毫秒數(shù)。Calendar類提供了更多的時(shí)間處理方法,可以方便地進(jìn)行時(shí)間計(jì)算和格式化輸出。
//獲取當(dāng)前日期和時(shí)間 Calendar calendar = Calendar.getInstance(); //獲取年月日 int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); //獲取毫秒數(shù) long millisecond = calendar.getTimeInMillis();
無(wú)論是使用Date類還是Calendar類,獲取年月日和毫秒數(shù)都是非常簡(jiǎn)單的操作。在實(shí)際開發(fā)中,我們可以結(jié)合各種時(shí)間處理庫(kù),進(jìn)行更加復(fù)雜的時(shí)間計(jì)算和運(yùn)算。