java?Date獲取本月的開始時間與結(jié)束時間
使用Calendar類來進(jìn)行計算
獲取本月的開始時間和結(jié)束時間,我們可以使用Calendar類來進(jìn)行計算。
以下是示例代碼:
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { public static void main(String[] args) { // 獲取當(dāng)前日期 Date currentDate = new Date(); // 創(chuàng)建Calendar實例 Calendar calendar = Calendar.getInstance(); // 設(shè)置日期為當(dāng)前日期 calendar.setTime(currentDate); // 將日期設(shè)置為該月的第一天 calendar.set(Calendar.DAY_OF_MONTH, 1); // 獲取本月的開始時間 Date startTime = calendar.getTime(); // 將日期設(shè)置為該月的最后一天 calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); // 獲取本月的結(jié)束時間 Date endTime = calendar.getTime(); // 輸出結(jié)果 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("本月開始時間:" + dateFormat.format(startTime)); System.out.println("本月結(jié)束時間:" + dateFormat.format(endTime)); } }
getActualMaximum方法
在上面的示例代碼中,我們首先獲取當(dāng)前日期,并創(chuàng)建一個Calendar對象并將日期設(shè)置進(jìn)去。接著,將日期設(shè)置為該月的第一天,即使用set(Calendar.DAY_OF_MONTH, 1)方法將日期設(shè)置為1號。
然后,使用getActualMaximum(Calendar.DAY_OF_MONTH)方法獲取該月的最后一天,并將日期設(shè)置為該天。最后,使用getTime()方法將Calendar對象轉(zhuǎn)換為Date對象,并輸出結(jié)果。
我們使用SimpleDateFormat類來格式化輸出結(jié)果為"yyyy-MM-dd HH:mm:ss"的字符串格式。
可以將本月的結(jié)束時間調(diào)整為在當(dāng)天的23:59:59,以獲得本月結(jié)束的精確時間。
以下是示例代碼:
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { public static void main(String[] args) { // 獲取當(dāng)前日期 Date currentDate = new Date(); // 創(chuàng)建Calendar實例 Calendar calendar = Calendar.getInstance(); // 設(shè)置日期為當(dāng)前日期 calendar.setTime(currentDate); // 將日期設(shè)置為該月的第一天 calendar.set(Calendar.DAY_OF_MONTH, 1); // 獲取本月的開始時間 Date startTime = calendar.getTime(); // 將日期設(shè)置為該月的最后一天,并調(diào)整為23:59:59 calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); // 獲取本月的結(jié)束時間 Date endTime = calendar.getTime(); // 輸出結(jié)果 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("本月開始時間:" + dateFormat.format(startTime)); System.out.println("本月結(jié)束時間:" + dateFormat.format(endTime)); } }
總結(jié)
在上面的示例代碼中,我們首先獲取當(dāng)前日期,并創(chuàng)建一個Calendar對象并將日期設(shè)置進(jìn)去。接著,將日期設(shè)置為該月的第一天,即使用set(Calendar.DAY_OF_MONTH, 1)方法將日期設(shè)置為1號。
然后,使用getActualMaximum(Calendar.DAY_OF_MONTH)方法獲取該月的最后一天,并將日期設(shè)置為該天。最后,調(diào)整小時、分鐘和秒鐘,以使日期為當(dāng)天的23:59:59。
最后,使用getTime()方法將Calendar對象轉(zhuǎn)換為Date對象,并輸出結(jié)果。我們使用SimpleDateFormat類來格式化輸出結(jié)果為"yyyy-MM-dd HH:mm:ss"的字符串格式。
以上就是java Date獲取本月的開始時間與結(jié)束時間的詳細(xì)內(nèi)容,更多關(guān)于java Date獲取本月時間的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java學(xué)習(xí)筆記之DBUtils工具包詳解
下面小編就為大家分享一篇java學(xué)習(xí)筆記之DBUtils工具包詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01Spring動態(tài)多數(shù)據(jù)源配置實例Demo
本篇文章主要介紹了Spring動態(tài)多數(shù)據(jù)源配置實例Demo,具有一定的參考價值,有興趣的可以了解一下。2017-01-01SpringBoot中接收POST參數(shù)的幾種方式詳解
這篇文章主要介紹了SpringBoot中接收POST參數(shù)的幾種方式,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06SpringBoot項目中使用騰訊云發(fā)送短信的實現(xiàn)
本文主要介紹了SpringBoot項目中使用騰訊云發(fā)送短信的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04