久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Java 進行時間處理的步驟

瀏覽:121日期:2022-08-12 09:46:02
目錄一、Calendar(1)、Calender介紹(2)、簡單的日期使用(3)、與Date之間的轉換二、Apache下的DateUtils三、JDK1.8新增的日期API LocalDate | LocalTime | LocalDateTime四、Hutool(Java工具類庫)總結一、Calendar(1)、Calender介紹

Calendar的中文翻譯是日歷,實際上,在歷史上有著許多種計時的方法。所以為了計時的統一,必需指定一個日歷的選擇。那現在最為普及和通用的日歷就是'Gregorian Calendar'。也就是我們在講述年份時常用'公元**年'。Calendar 在 Java 中是一個抽象類(Abstract Class),GregorianCalendar 是它的一個具體實現。Calendar.getInstance()中所獲得的實例就是一個'GreogrianCalendar'對象。

(2)、簡單的日期使用

Calendar cal = Calendar.getInstance();System.out.println(cal.get(Calendar.DATE));//-----------------------今天是幾號System.out.println(cal.get(Calendar.DAY_OF_MONTH));//---------------今天是一月的第幾天System.out.println(cal.get(Calendar.DAY_OF_WEEK));//----------------從星期天開始計算,如果今天星期二,那么返回3System.out.println( cal.get(Calendar.DAY_OF_YEAR));//----------------今天是一年的第幾天System.out.println( cal.get(Calendar.HOUR));//-----------------------現在是幾點 12小時制System.out.println( cal.get(Calendar.HOUR_OF_DAY));//----------------現在是幾點 24小時制,一般使用這個屬性賦值System.out.println(cal.get(Calendar.MILLISECOND));//----------------現在的毫秒System.out.println( cal.get(Calendar.MINUTE));//---------------------現在是幾分System.out.println( cal.get(Calendar.SECOND));//---------------------現在是幾秒System.out.println(cal.get(Calendar.WEEK_OF_MONTH));//--------------現在是一個月中的第幾周System.out.println(cal.get(Calendar.WEEK_OF_YEAR));//----------------現在是一個年中的第幾周System.out.println(cal.get(Calendar.MONTH));//-----------------------月份獲取需要 +1,那么,賦值時需要 -1System.out.println(cal.get(Calendar.MONTH)-1); //即可獲得上個月的月份(3)、與Date之間的轉換

Calendar calendar = Calendar.getInstance();// 從一個Calendar 對象中獲取 Date 對象Date date = calendar.getTime();// 將 Date 對象反應到一個 Calendar 對象中,// 先獲得一個實例,然后設置 Date 對象calendar.setTime(date);月份的起始值為0而不是1,所以要設置八月時,我們用7而不是8。calendar.set(Calendar.MONTH, 7);計算2000-01-01是星期幾calendar.set(2000,1,1)calendar.get(calendar.DAY_OF_WEEK )

當然Calender是最早的時間處理,是jdk1.6的東西難免比較過時

二、Apache下的DateUtils

(1)、引入包

<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version></dependency>

(2)、沒什么可說的上翻譯就行

/** * 以秒為標準時間的毫秒數 */ public static final long MILLIS_PER_SECOND = 1000 /** *以分鐘為標準時間的毫秒數 */ public static final long MILLIS_PER_MINUTE = 60 * MILLIS_PER_SECOND /** *以小時為標準時間的毫秒數 */ public static final long MILLIS_PER_HOUR = 60 * MILLIS_PER_MINUTE /** * 以天為標準時間的毫秒數 */ public static final long MILLIS_PER_DAY = 24 * MILLIS_PER_HOUR /** * 這個類型是半個月, 所以這可以代表日期是上還是下半個月 。 */ public static final int SEMI_MONTH = 1001 /** * 周范圍, 從星期日開始 。 */ public static final int RANGE_WEEK_SUNDAY = 1 /** * 周范圍,從星期一開始 。 */ public static final int RANGE_WEEK_MONDAY = 2 /** * 周范圍,從關注的那天開始。 */ public static final int RANGE_WEEK_RELATIVE = 3 /** * 周范圍,以關注的天為中心。 */ public static final int RANGE_WEEK_CENTER = 4 /** * 月范圍,從星期日開始 。 */ public static final int RANGE_MONTH_SUNDAY = 5 /** * 月范圍,從星期一開始 。 */ public static final int RANGE_MONTH_MONDAY = 6 /** * 不應在標準編成構造獲取實列, 而應該直接使用類中的靜態方法,如:DateUtils.parseDate(str) 。 * 此構造函數意在允許需要一個javabeen實列的工具中使用 。 */ public DateUtils() /** * 判斷兩個日期時間是否是同一天 。 * * @param date1 第一個日期,不可修改,非null * @param date2 第二個日期,不可修改,非null */ public static boolean isSameDay(final Date date1, final Date date2) /** * 判斷兩個日歷時間是否是同一天 。* * @param cal1 第一個日歷,不可修改,非null * @param cal2 第二個日歷,不可修改,非null */ public static boolean isSameDay(final Calendar cal1, final Calendar cal2) /** * 判斷兩個日期是否相同 * 這種方法比較兩個對象的毫秒時間 * * @param date1 第一個日期,不可修改,非null * @param date2 第二個日期,不可修改,非null */ public static boolean isSameInstant(final Date date1, final Date date2) /** * 判斷兩個日歷是否相同 * 這種方法比較兩個對象的毫秒時間 * * @param cal1 第一個日歷,不可修改,非null * @param cal2 第二個日歷,不可修改,非null */ public static boolean isSameInstant(final Calendar cal1, final Calendar cal2) /** * 判斷兩個日歷本地時間是否相同 * 除了比較數值外兩個日歷對象的類型還要相同 * * @param cal1 第一個日歷,不可修改,非null * @param cal2 第二個日歷,不可修改,非null */ public static boolean isSameLocalTime(final Calendar cal1, final Calendar cal2) /** * 嘗試用parsePatterns中各種不同的日期格式解析代表時間的字符串str 。 * * 解析時會逐個使用parsePatterns中的格式,如果都沒有匹配上, 則拋出異常ParseException 。 * * @param str 被解析的時間字符串,非null * @param parsePatterns 用于解析str的時間格式,有一個或幾個,非null */ public static Date parseDate(final String str, final String... parsePatterns) throws ParseException /** * 嘗試用parsePatterns中各種不同的日期格式解析代表時間的字符串str 。 * 解析時會使用給定的日期格式符locale 。 * * 解析時會逐個使用parsePatterns中的格式,如果都沒有匹配上, 則拋出異常ParseException 。 * * @param str 被解析的時間字符串,非null * @param locale 使用locale中的日期格式符,如果為null,則使用系統默認的locale * @param parsePatterns 用于解析str的時間格式,有一個或幾個,非null */ public static Date parseDate(final String str, final Locale locale, final String... parsePatterns) throws ParseException /** * 嘗試用parsePatterns中各種不同的日期格式解析代表時間的字符串str 。 * * 解析時會逐個使用parsePatterns中的格式,如果都沒有匹配上, 則拋出異常ParseException 。 * 解析器解析嚴格不允許的日期, 如:'February 942, 1996' 。 * * @param str 被解析的時間字符串,非null * @param parsePatterns 用于解析str的時間格式,有一個或幾個,非null */ public static Date parseDateStrictly(final String str, final String... parsePatterns) throws ParseException /** * 嘗試用parsePatterns中各種不同的日期格式解析代表時間的字符串str 。 * 解析時會使用給定的日期格式符locale 。 * * 解析時會逐個使用parsePatterns中的格式,如果都沒有匹配上, 則拋出異常ParseException 。 * 解析器解析嚴格不允許的日期, 如:'February 942, 1996' 。 * * @param str 被解析的時間字符串,非null * @param locale 使用locale中的日期格式符,如果為null,則使用系統默認的locale * @param parsePatterns 用于解析str的時間格式,有一個或幾個,非null */ public static Date parseDateStrictly(final String str, final Locale locale, final String... parsePatterns) throws ParseException /** * 在日期date上增加amount年 。 * * @param date 處理的日期,非null * @param amount 要加的年數,可能為負數 */ public static Date addYears(final Date date, final int amount) /** * 在日期date上增加amount月 。 * * @param date 處理的日期,非null * @param amount 要加的月數,可能為負數 */ public static Date addMonths(final Date date, final int amount) /** * 在日期date上增加amount周 。 * * @param date 處理的日期,非null * @param amount 要加的周數,可能為負數 */ public static Date addWeeks(final Date date, final int amount) /** * 在日期date上增加amount天 。 * * @param date 處理的日期,非null * @param amount 要加的天數,可能為負數 */ public static Date addDays(final Date date, final int amount) /** * 在日期date上增加amount小時 。 * * @param date 處理的日期,非null * @param amount 要加的小時數,可能為負數 */ public static Date addHours(final Date date, final int amount) /** * 在日期date上增加amount分鐘 。 * * @param date 處理的日期,非null * @param amount 要加的分鐘數,可能為負數 */ public static Date addMinutes(final Date date, final int amount) /** * 在日期date上增加amount秒 。 * * @param date 處理的日期,非null * @param amount 要加的秒數,可能為負數 */ public static Date addSeconds(final Date date, final int amount) /** * 在日期date上增加amount 毫秒 。 * * @param date 處理的日期,非null * @param amount 要加的毫秒數,可能為負數 */ public static Date addMilliseconds(final Date date, final int amount) /** * 給日期data設置一個新的年份 。 * * @param date 處理的日期,非null * @param amount 要設置的年份 */ public static Date setYears(final Date date, final int amount) /** * 給日期data設置一個新的月份 。 * * @param date 處理的日期,非null * @param amount 要設置的月份 */ public static Date setMonths(final Date date, final int amount) /** * 給日期data設置一個新的天 。 * * @param date 處理的日期,非null * @param amount 要設置的天 */ public static Date setDays(final Date date, final int amount) /** * 給日期data設置一個新的小時 。 * * @param date 處理的日期,非null * @param amount 要設置的小時 */ public static Date setHours(final Date date, final int amount) /** * 給日期data設置一個新的分鐘 。 * * @param date 處理的日期,非null * @param amount 要設置的分鐘 */ public static Date setMinutes(final Date date, final int amount) /** * 給日期data設置一個新的秒 。 * * @param date 處理的日期,非null * @param amount 要設置的秒 */ public static Date setSeconds(final Date date, final int amount) /** * 給日期data設置一個新的毫秒 。 * * @param date 處理的日期,非null * @param amount 要設置的毫秒 */ public static Date setMilliseconds(final Date date, final int amount) /** * 將一個日期放到日歷中 。 */ public static Calendar toCalendar(final Date date) /** * 根據閾值field四舍五入日歷date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 14:00:00.000; * 如果field為MONTH,它將返回 1 April 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Date round(final Date date, final int field) /** * 根據閾值field四舍五入日歷date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 14:00:00.000; * 如果field為MONTH,它將返回 1 April 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Calendar round(final Calendar date, final int field) /** * 根據閾值field四舍五入日歷date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 14:00:00.000; * 如果field為MONTH,它將返回 1 April 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Date round(final Object date, final int field) /** * 根據閾值field截取日期date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 13:00:00.000; * 如果field為MONTH,它將返回 1 Mar 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Date truncate(final Date date, final int field) /** * 根據閾值field截取日歷date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 13:00:00.000; * 如果field為MONTH,它將返回 1 Mar 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Calendar truncate(final Calendar date, final int field) /** * 根據閾值field截取日期date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 13:00:00.000; * 如果field為MONTH,它將返回 1 Mar 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Date truncate(final Object date, final int field) /** * 根據閾值field向上舍入日期date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 14:00:00.000; * 如果field為MONTH,它將返回 1 Apr 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Date ceiling(final Date date, final int field) /** * 根據閾值field向上舍入日期date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 14:00:00.000; * 如果field為MONTH,它將返回 1 Apr 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Calendar ceiling(final Calendar date, final int field) /** * 根據閾值field向上舍入日期date 。 * * 例如, 如果你的時間是 28 Mar 2002 13:45:01.231, * 如果field為HOUR,它將返回 28 Mar 2002 14:00:00.000; * 如果field為MONTH,它將返回 1 Apr 2002 0:00:00.000 。 * * @param date 處理的日期,非null * @param field 閾值 */ public static Date ceiling(final Object date, final int field) /** * 根據指定的時間focus和范圍類型rangeStyle構建一個時間范圍迭代器 。 * * 如傳入的時間是Thursday, July 4, 2002,范圍類型是RANGE_MONTH_SUNDAY, * 則返回迭代器的范圍是從Sunday, June 30, 2002 到 Saturday, August 3, 2002 * * @param focus 指定的時間 * @param rangeStyle 范圍類型,值必須是如下之一: * DateUtils.RANGE_MONTH_SUNDAY, * DateUtils.RANGE_MONTH_MONDAY, * DateUtils.RANGE_WEEK_SUNDAY, * DateUtils.RANGE_WEEK_MONDAY, * DateUtils.RANGE_WEEK_RELATIVE, * DateUtils.RANGE_WEEK_CENTER */ public static Iterator<Calendar> iterator(final Date focus, final int rangeStyle) /** * 根據指定的時間focus和范圍類型rangeStyle構建一個時間范圍迭代器 。 * * 如傳入的時間是Thursday, July 4, 2002,范圍類型是RANGE_MONTH_SUNDAY, * 則返回迭代器的范圍是從Sunday, June 30, 2002 到 Saturday, August 3, 2002 * * @param focus 指定的時間 * @param rangeStyle 范圍類型,值必須是如下之一: * DateUtils.RANGE_MONTH_SUNDAY, * DateUtils.RANGE_MONTH_MONDAY, * DateUtils.RANGE_WEEK_SUNDAY, * DateUtils.RANGE_WEEK_MONDAY, * DateUtils.RANGE_WEEK_RELATIVE, * DateUtils.RANGE_WEEK_CENTER */ public static Iterator<Calendar> iterator(final Calendar focus, final int rangeStyle) /** * 根據指定的時間focus和范圍類型rangeStyle構建一個時間范圍迭代器 。 * * 如傳入的時間是Thursday, July 4, 2002,范圍類型是RANGE_MONTH_SUNDAY, * 則返回迭代器的范圍是從Sunday, June 30, 2002 到 Saturday, August 3, 2002 * * @param focus 指定的時間 * @param rangeStyle 范圍類型,值必須是iterator(Calendar, int)方法注釋中列出的 */ public static Iterator<?> iterator(final Object focus, final int rangeStyle) /** * 返回指定分段內的毫秒數 。 所有大于分段的DateFields將被忽略 。 * * 請求任何日期毫秒,將返回當前秒的毫秒數 (返回一個數字在0和999之間) 。 * 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、 * Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、 * Calendar.SECOND 和 Calendar.MILLISECOND * 分段值小于或等于MILLISECOND,將返回0 。 * * January 1, 2008 7:15:10.538 with Calendar.SECOND as fragment will return 538 * January 6, 2008 7:15:10.538 with Calendar.SECOND as fragment will return 538 * January 6, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10538 * January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 * (a millisecond cannot be split in milliseconds) * * @param calendar 獲取值得日歷對象,非null * @param fragment 分段值 */ public static long getFragmentInMilliseconds(final Calendar calendar, final int fragment) /** * 返回指定分段內的秒數 。 所有大于分段的DateFields將被忽略 。 * * 請求任何日期秒,將返回當前的分鐘的秒數 (返回一個數字在0和59之間) 。 * 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、 * Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、 * Calendar.SECOND 和 Calendar.MILLISECOND * 分段值小于或等于SECOND,將返回0 。 * * January 1, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10 * January 6, 2008 7:15:10.538 with Calendar.MINUTE as fragment will return 10 * January 6, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 26110 * (7*3600 + 15*60 + 10)</li> * January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 * * @param calendar 獲取值得日歷對象,非null * @param fragment 分段值 */ public static long getFragmentInSeconds(final Calendar calendar, final int fragment) /** * 返回指定分段內的分鐘數 。 所有大于分段的DateFields將被忽略 。 * * 請求任何日期分鐘,將返回當前的小時的分鐘數 (返回一個數字在0和59之間) * 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、 * Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、 * Calendar.SECOND 和 Calendar.MILLISECOND * 分段值小于或等于MINUTE,將返回0 。 * * January 1, 2008 7:15:10.538 with Calendar.HOUR_OF_DAY as fragment will return 15 * January 6, 2008 7:15:10.538 with Calendar.HOUR_OF_DAY as fragment will return 15 * January 1, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 15 * January 6, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 435 (7*60 + 15) * January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 * * @param calendar 獲取值得日歷對象,非null * @param fragment 分段值 */ public static long getFragmentInMinutes(final Calendar calendar, final int fragment) /** * 返回指定分段內的小時數 。 所有大于分段的DateFields將被忽略 。 * * 請求任何日期小時,將返回當前的天的小時數 (返回一個數字在0和23之間) 。 * 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、 * Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、 * Calendar.SECOND 和 Calendar.MILLISECOND * 分段值小于或等于HOUR_OF_DAY,將返回0 。 * * January 1, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 7 * January 6, 2008 7:15:10.538 with Calendar.DAY_OF_YEAR as fragment will return 7 * January 1, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 7 * January 6, 2008 7:15:10.538 with Calendar.MONTH as fragment will return 127 (5*24 + 7) * January 16, 2008 7:15:10.538 with Calendar.MILLISECOND as fragment will return 0 * * @param calendar 獲取值得日歷對象,非null * @param fragment 分段值 */ public static long getFragmentInHours(final Calendar calendar, final int fragment) /** * 返回指定分段內的天數 。 所有大于分段的DateFields將被忽略 。 * * 請求任何日期天數,將返回當前的月的天數 (返回一個數字在1和31之間) 。 * 有效的分段值是: Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_YEAR、 * Calendar.DATE、Calendar.HOUR_OF_DAY、Calendar.MINUTE、 * Calendar.SECOND 和 Calendar.MILLISECOND * 分段值小于或等于DATE,將返回0 。 * * January 28, 2008 with Calendar.MONTH as fragment will return 28 * February 28, 2008 with Calendar.MONTH as fragment will return 28 * January 28, 2008 with Calendar.YEAR as fragment will return 28 * February 28, 2008 with Calendar.YEAR as fragment will return 59 * January 28, 2008 with Calendar.MILLISECOND as fragment will return 0 * * @param calendar 獲取值得日歷對象,非null * @param fragment 分段值 */ public static long getFragmentInDays(final Calendar calendar, final int fragment) /** * 截取比較兩個日歷對象的field處的值是否相同 。 * * @param cal1 第一個日歷對象,非null * @param cal2 第二個日歷對象,非null * @param field Calendar中的閾值 */ public static boolean truncatedEquals(final Calendar cal1, final Calendar cal2, final int field) /** * 截取比較兩個日期對象的field處的值是否相同 。 * * @param date1 第一個日期對象,非null * @param date2 第二個日期對象,非null * @param field Calendar中的閾值 */ public static boolean truncatedEquals(final Date date1, final Date date2, final int field) /** * 截取比較兩個日歷對象的field處的值 。 * 如果第一個日歷小于、等于、大于第二個,則對應返回負整數、0、正整數 * * @param cal1 第一個日歷對象,非null * @param cal2 第二個日歷對象,非null * @param field Calendar中的閾值 */ public static int truncatedCompareTo(final Calendar cal1, final Calendar cal2, final int field) /** * 截取比較斷兩個日期對象的field處的值 。 * 如果第一個日期小于、等于、大于第二個,則對應返回負整數、0、正整數 * * @param date1 第一個日期對象,非null * @param date2 第二個日期對象,非null * @param field Calendar中的閾值 */ public static int truncatedCompareTo(final Date date1, final Date date2, final int field)//簡單舉例System.out.println(DateUtils.addDays(new Date(), 1));//-----------------當前日期。天數加1如果想建議填負數即可 System.out.println(DateUtils.addHours(new Date(), 0));//----------------當前日期 Date date = DateUtils.addDays(new Date(), 1);

DateUtils返回的就是Date不需要轉換,當然也是很早的東西了,只是誕生在Calender基礎之上而已

三、JDK1.8新增的日期API LocalDate | LocalTime | LocalDateTime

新的日期API都是不可變的,更使用于多線程的使用環境中(從默認時區的系統時鐘獲取當前的日期時間。不用考慮時區差)優點:

1、之前使用的java.util.Date月份從0開始,我們一般會+1使用,很不方便,java.time.LocalDate月份和星期都改成了enum

2、java.util.Date和SimpleDateFormat都不是線程安全的,而LocalDate和LocalTime和最基本的String一樣,是不變類型,不但線程安全,而且不能修改。

3、java.util.Date是一個“萬能接口”,它包含日期、時間,還有毫秒數,更加明確需求取舍

4、新接口更好用的原因是考慮到了日期時間的操作,經常發生往前推或往后推幾天的情況。用java.util.Date配合Calendar要寫好多代碼,而且一般的開發人員還不一定能寫對。

(1)、LocalDateTime(年月日時分秒)

LocalDateTime date = LocalDateTime.now();//2021-03-26T10:24:14.009784900System.out.println(date);//獲取年月日時分秒操作System.out.println(date.getYear());System.out.println(date.getMonthValue());System.out.println(date.getDayOfMonth());System.out.println(date.getHour());System.out.println(date.getMinute());System.out.println(date.getSecond());System.out.println(date.getNano());//當然你也可以獲取最近任意的一段時間 System.out.println(date.getSecond()+1); ||System.out.println(date.getSecond()-1);// 手動創建一個LocalDateTime實例LocalDateTime date2 = LocalDateTime.of(2017, 12, 17, 9, 31, 31, 31);System.out.println(date2);// 進行加操作,得到新的日期實例LocalDateTime date3 = date2.plusDays(12);System.out.println(date3);// 進行減操作,得到新的日期實例LocalDateTime date4 = date3.minusYears(2);System.out.println(date4);isAfter()判斷一個日期是否在指定日期之后 返回boolean 類型System.out.println(localDateTime.isBefore(LocalDateTime.now()));//---------返回falseisBefore()判斷一個日期是否在指定日期之前 返回boolean 類型System.out.println(localDateTime.isAfter(LocalDateTime.now()));//---------返回falseisLeapYear()判斷是否是閏年(這個是LocalDate類中的方法) 返回boolean類型System.out.println(localDateTime.isEqual(LocalDateTime.now()));//---------返回true

(2)、LocalDateTime與Date之間的轉換

Date to LocalDateTime

Date todayDate = new Date();LocalDateTime ldt = Instant.ofEpochMilli( todayDate.getTime() ).atZone( ZoneId.systemDefault() ).toLocalDateTime();System.out.println(ldt);

LocalDateTime to Date

LocalDateTime localDateTime = LocalDateTime.now();Date date = Date.from( localDateTime.atZone( ZoneId.systemDefault()).toInstant());System.out.println(date);

當然還有很多好玩的東西,LocalDate(年月日) LocalTime(時分秒)和LocalDateTime(年月日時分秒)都大差不差,所以講一個即可

四、Hutool(Java工具類庫)

一個比較好玩的Java工具類庫,包含很多好玩的工具類,簡單便捷。

(1)、安裝

Maven

<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.6.1</version></dependency>

Gradle

compile ’cn.hutool:hutool-all:5.6.1’

Maven中央倉庫Hutool 5.x支持JDK8+,對Android平臺沒有測試,不能保證所有工具類或工具方法可用。 如果你的項目使用JDK7,請使用Hutool 4.x版本

(2)、使用

//該工具類時間都是格式化好的System.out.println(DateUtil.now());//------------------------------取當前時間這也沒啥好說的下載源碼看中文注釋即可,就不一一舉例了,,,簡簡單單。總結

總之好玩的工具類一大坨,不管是jdk原生還是別人封裝的工具類,如果你想也可以自己通過jdk1.8的日期api自己封裝屬于自己的日期工具類,網上的日期工具類太多了,不要重復造輪子~~~~~~~~~~今天也是元氣滿滿的一天

以上就是Java 進行時間處理的步驟的詳細內容,更多關于Java 時間處理的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 久久免费国产精品 | 久草青青 | 久久天堂 | av网站免费在线观看 | 国产成人精品在线 | 日本久久精品视频 | 精品国产欧美一区二区 | 久久精品2 | 成年入口无限观看网站 | 天天亚洲综合 | 久草免费在线 | 中文字幕日韩一区二区不卡 | 国产一级纯肉体一级毛片 | 亚洲国产精品第一区二区 | 亚洲成人免费视频在线观看 | 久久精品在线 | 国产一区二区三区久久 | 午夜在线视频 | 国内av网站 | 成人在线视频免费观看 | 97色在线视频 | 精品久久久久久久久福利 | 免费国产一区 | 成人在线h | 国产特级毛片aaaaaa毛片 | 精品99久久久久久 | 欧美 中文字幕 | 在线观看三级av | 日本爽快片毛片 | 婷婷激情五月 | 国产视频二区 | 久久com | 欧美黄色性视频 | 日韩中文字幕电影 | 日本精品一区二区三区在线观看视频 | 91免费版在线看 | 亚洲福利| 欧美精品一区三区 | 成人免费网站 | 亚洲二区在线 | 久久久亚洲一区 | 国产婷婷在线视频 | 亚洲免费观看 | 97视频在线免费观看 | 国产资源在线观看 | 精品一区二区三区四区五区 | 日韩视频―中文字幕 | 毛片真人毛毛片毛片 | 日韩欧美在线视频 | 国产精品国产精品国产专区不蜜 | 欧美操穴 | 在线播放国产一区二区三区 | 日韩午夜电影 | 午夜爽视频 | 国产成人在线免费观看视频 | 噜噜噜噜噜在线视频 | 综合久久综合久久 | 精品久久久久久久久久久久久久 | 久草视频在线播放 | 亚洲日韩欧美一区二区在线 | 精品亚洲一区二区 | 成人18视频在线观看 | 国产精品第一国产精品 | 国产精品久久久久久久免费大片 | 影音先锋国产 | 欧美第一色 | 伊人操操| 亚洲国产精品一区二区第一页 | 九色porny国模私拍av | 亚洲一区不卡在线 | 久草视频免费看 | 久久亚洲国产精品 | 日日爱视频 | 成人xxx| 欧美一区久久 | 成人在线不卡 | 国产精品国产成人国产三级 | 色综合免费 | 欧美 中文字幕 | 黄色片视频在线观看 | 国产99久久精品一区二区永久免费 | 91日韩精品一区二区三区 | 九九热精品视频在线观看 | 日韩a级免费视频 | 一级免费黄色免费片 | 精品亚洲一区二区 | 午夜激情电影在线 | 四虎欧美| 黄色片地址| 久久精彩| 成人av在线播放 | 一区二区三区国产视频 | 亚洲www啪成人一区二区 | 在线观看中文 | 99精品不卡 | 精品一区二区三区免费看 | 色综合久久久久 | 国产精品毛片无码 | 天天色天天色 | 精品无码久久久久久国产 | 欧美黄色网络 | 一区二区色 | 91精品国产91综合久久蜜臀 | 午夜视频网站 | 国产精品a久久久久 | 国产富婆一级全黄大片 | 中文字幕日韩欧美一区二区三区 | 欧美aaaaa| 欧美一区二区在线观看 | 99草在线视频 | julia一区二区三区中文字幕 | 99免费视频| 久久不卡日韩美女 | 国产精品久久久久久 | 天天澡天天狠天天天做 | 亚洲精品午夜国产va久久成人 | 一区二区三区 在线 | 国产精品久久二区 | 999热在线| 欧美区在线| 美女久久久| 国产一级毛片在线视频 | 免费的黄色毛片 | 一级片av| 亚洲国产成人久久一区二区三区 | 亚洲三区在线观看 | 亚洲精品久久久一区二区三区 | 欧美激情欧美激情在线五月 | 日韩欧美在线观看视频 | 国产精品久久九九 | 性高湖久久久久久久久aaaaa | 国产日韩精品一区二区 | 激情欧美日韩一区二区 | 中文字幕在线观看视频一区 | 麻豆色呦呦 | 在线看亚洲 | 国产精品久久久久免费 | 国产精品久久久久久久免费大片 | 亚洲精品日本 | 久久综合电影 | 亚洲视频一区二区三区 | 国产一级视频在线观看 | 中文字幕国产一区 | 午夜精品一区二区三区在线观看 | 亚洲美女视频一区二区三区 | 日韩一区欧美 | 亚洲欧洲日韩 | 在线碰| h小视频| 日韩成人片 | 欧美一级在线 | 人人草天天草 | 天天操夜夜干 | 亚洲福利精品 | 人人澡人人射 | 欧美一级网站 | 伊人久久综合影院 | 久久久久久久久久一区二区 | 中文精品在线 | 日韩成人免费视频 | 日韩视频中文字幕 | 色综合久久88色综合天天 | 中文字幕在线观看 | 国产女爽爽视频精品免费 | 日韩视频在线免费观看 | 日韩中文字幕在线免费观看 | 精品国产一区二区在线 | 国产99久 | 久久久天堂国产精品女人 | 毛片av在线播放 | 日日爽夜夜操 | 97超碰免费 | 国产操片 | 国产精品一区久久久久 | 亚洲精品二区三区 | 天天草综合 | 国产精品成人免费视频 | 欧美视频一区二区三区在线观看 | 精品亚洲视频在线观看 | 97伦理电影网 | 91精品国产综合久久久久久丝袜 | 久久不卡日韩美女 | 国产成人精品一区二区三区视频 | 欧美日韩精品 | 欧美人成在线 | 99re久久 | 99草草 | 色十八 | 亚洲中字幕 | 国产精品久久久精品 | 日批免费在线观看 | 黄色大片网站 | 久久精品欧美一区二区三区不卡 | 国产精品99久久久久久大便 | 国产大片在线观看 | 露娜同人18av黄漫网站 | 欧美日韩国产一区二区三区不卡 | 99久久国产综合精品女不卡 | 日韩免费视频中文字幕 | 欧美久久精品一级c片 | 亚洲精品中文字幕乱码无线 | 97视频在线| 美女视频黄色免费 | 亚洲欧美高清 | 久久综合中文字幕 | 免费看一区二区三区 | 婷婷在线免费视频 | 激情欧美日韩一区二区 | 一区毛片| 精品一二三区 | 日韩精品在线播放 | 亚洲成人av在线 | 日本黄色毛片 | 久久久久中文 | 精品一区二区在线观看 | 午夜寂寞少妇aaa片毛片 | 中文字幕三区 | 亚洲一区二区三区在线观看免费 | 天天看天天操 | 天天操夜夜干 | 欧美精品一区二区三区蜜臀 | 色婷婷av久久久久久久 | 激情一区| 伊人久久艹 | 国产精品久久久久久久久免费桃花 | 成人在线观看免费视频 | 婷婷伊人| 国产精品极品美女在线观看免费 | 久久久艹 | 国产网址 | 另类国产ts人妖高潮系列视频 | 欧美综合一区二区 | 一区二区免费在线观看 | 精品av| 国产精品久久久久久一区二区三区 | 黄色av网站在线免费观看 | 午夜理伦三级 | 不卡黄色| 国产老女人精品毛片久久 | 做a视频免费观看 | 亚洲欧美在线视频 | 午夜看片 | 欧美精品免费在线 | 亚洲视频自拍 | 亚洲成人av片 | 欧美精品一区二区三区在线 | 欧美日韩欧美日韩 | 亚洲国产一区二区三区四区 | 亚洲网站在线观看 | 国产人久久人人人人爽 | 欧美一区2区三区4区公司二百 | 久久久久国产精品免费免费搜索 | 国产精品视频一二三区 | 亚洲国产福利一区 | 久久手机在线视频 | 日韩在线永久免费播放 | 国产在线综合视频 | 亚洲色图p | 国产激情午夜 | 青青草久 | 特黄毛片 | 久久久久久久久久久免费视频 | 天天爽夜夜爽夜夜爽精品视频 | 久久一区| 久久人人爽爽爽人久久久 | 国产一区二区视频在线播放 | 国产高清精品在线 | 九九热精品视频 | 少妇淫片aaaaa毛片叫床爽 | 亚洲国产精品一区二区第一页 | 欧美日韩一 | www.久久久| 日韩91| 亚洲一区二区高清视频 | 亚洲一区二区视频在线播放 | 国产亚洲久久 | 免费视频爱爱太爽了 | 三级在线免费 | 国产九九精品视频 | 成人午夜视频在线观看 | 久久综合九色综合欧美狠狠 | 国产中文字幕在线 | 国产一区二区三区在线看 | 日韩欧美在线播放视频 | 久久精品网 | 欧美一级在线 | 国产亚洲精品美女久久久久久久久久 | 国产午夜精品福利 | 在线视频 亚洲 | 国产精品污www在线观看 | 成人激情视频在线免费观看 | 日韩成人高清视频 | 欧美日韩电影一区二区 | 黑人巨大精品欧美一区二区免费 | 免费观看黄色 | 久久久久久九九九 | 国产精品有限公司 | 日韩成人一区二区 | 狠狠躁日日躁夜夜躁东南亚 | 一区二区三区四区日韩 | av免费看在线 | 欧美日本韩国一区二区 | 国产精品视频久久久 | 不卡视频一二三区 | 亚洲二区在线观看 | 最新国产毛片 | 中文字字幕在线观看 | 欧美精品一区二区在线观看 | 在线日韩欧美 | 国产伦精品一区二区三区四区视频 | 亚洲 中文 欧美 日韩 在线观看 | 成人a级网站 | 天天干,夜夜操 | 国产日韩精品一区二区在线观看播放 | 成av人片在线观看www | 一级特黄 | 色香阁99久久精品久久久 | 亚洲人成在线观看 | av久久| www.久久久.com| 日韩欧美一级在线 | 中文在线一区 | 一级视频毛片 | 黄色大片观看 | 欧美一区二区大片 | 欧美亚洲性视频 | 欧洲美女性开放视频 | 国产av毛片 | 极品久久 | 亚洲成av人片在线观看 | 国产精品成人av | 成人1区2区| 国产一区二区三区久久 | 最新国产在线 | 看片久久 | 久久先锋 | 龙珠z在线观看 | 亚州视频在线 | 国产精品中文字幕在线观看 | 成人免费在线看片 | 亚洲日韩欧美一区二区在线 | 青草青草久热精品视频在线观看 | 久久综合一区二区 | 中文字幕在线精品 | 午夜精品一区二区三区在线播放 | 色性视频 | www.精品| 国产午夜久久久久 | 一区视频| 亚洲精品久久久一区二区三区 | 精品久久久久久国产 | 精品久久久久久 | 免费毛片a线观看 | www伊人 | 性视频一区 | 欧美性一区二区 | 狠狠操操| 色视频网| 蜜臀影院| 男女视频在线观看 | 视频一区在线 | 久久久网站| 另类五月天 | 剑来高清在线观看 | 亚洲www啪成人一区二区 | 成人av播放 | 国产成人99 | 亚洲精品久久久久久下一站 | 中文字幕亚洲一区 | 亚洲狠狠爱一区二区三区 | 日韩精品免费在线视频 | 精品国产一区二区在线 | 久久国产精品视频 | 午夜激情视频免费 | 国产精品综合久久 | 国产一区二区免费 | a久久久久久| 欧美一级黄色影院 | 国产91富婆养生按摩会所 | 久久久久久久久国产 | 欧美日韩国产不卡 | 成人a在线视频免费观看 | 久草在线免费福利资源 | 国产乱码一区二区三区 | 亚洲天堂影视 | 中文在线一区 | 亚洲 欧美 日韩在线 | 久久久久久久久一区 | 日批免费观看视频 | 精品成人免费一区二区在线播放 | 欧美日韩一级二级三级 | 国变精品美女久久久久av爽 | 亚洲欧美精品一区二区 | 欧美日韩综合视频 | 91精品区 | 欧美日韩啪啪 | 亚洲国产精品久久久久秋霞不卡 | 亚洲国产精品成人 | 日韩中文字幕免费观看 | 一级片在线观看 | av一区二区三区在线观看 | 精品欧美乱码久久久久久 | 免费看色 | 高清国产一区二区三区四区五区 | 日本三级在线观看中文字 | 国产精品久久久久久久久久 | 三级av在线 | 影音先锋中文字幕在线 | 日韩一区二区在线播放 | 日韩视频国产 | 男女羞羞视频免费看 | 国产精品久久久久永久免费观看 | 久久久久久久一区二区三区 | 91免费在线播放 | sis色中色| 九九九视频精品 | 国产精品久久国产精品 | 久久久久中文 | 亚洲精品国偷拍自产在线观看 | 国产成人99| av官网在线 | 中文二区 | 国产精品久久久久国产a级 91福利网站在线观看 | 国内精品视频 | 欧美理论视频 | 韩国xxxx性hd极品 | 亚洲天堂中文字幕 | 日操 | 久久九 | 操人网址 | 国产精品久久久久久妇女6080 | 中文在线一区 | 国产91福利视频 | 欧美激情精品久久久久久免费 | 国产精品一区二区在线观看 | 日本欧美国产 | 天天精品在线 | 久久久国产精品 | xvideos.蜜桃一区二区 | 亚洲第一福利视频 | 亚洲一级毛片 | 久久国产精品电影 | www.国产精品 | 在线免费国产 | 日产一区二区 | 狠狠夜夜 | 国产在线一区二区三区 | 亚洲人人| 日本欧美国产 | 狠狠躁夜夜躁人人爽天天高潮 | 日韩av手机在线免费观看 | av看片网| 欧美人体一区二区三区 | 中文字幕视频三区 | 一级做a毛片 | 精品国产乱码久久久久久闺蜜 | 一区二区亚洲 | 亚洲精品免费视频 | 少妇激烈床戏视频 | 国产一区二区三区四区三区 | 亚洲精品乱码久久久久久按摩观 | 狠狠狠狠狠狠干 | 永久免费精品视频 | 成人免费看黄色 | 中字精品 | 国产精品国色综合久久 | 日韩精品无码一区二区三区 | 男人的天堂在线视频 | 伊人热久久婷婷 | av在线一区二区 | 中文成人在线 | 久久99这里只有精品 | 国产毛片毛片 | 天天干欧美| 精产国产伦理一二三区 | 欧美一级精品片在线看 | 天天插狠狠插 | 久久爱成人 | 一区二区在线看 | 精品在线播放 | av激情在线 | 欧美久久久久久 | 激情小视频网站 | 一区二区精品视频在线观看 | 国产伦精品一区二区三区在线 | 日韩精品一区二区三区视频播放 | 99久久免费观看 | 欧美国产在线观看 | 欧美黄色一区 | 成年人黄色免费视频 | 日韩精品免费在线视频 | 中文字幕一区二区三区乱码图片 | 精品一区二区在线播放 | 久久久久久久久久一区二区 | 亚洲国产精品自拍 | 一级毛片观看 | 久久三区| 国产精品美女久久久久久久久久久 | 亚洲人在线 | 欧美一级精品片在线看 | 国产精品一区在线 | 午夜精品一区二区三区在线视频 | 精品 99| 三级网址日本 | 久久六月| 欧美精品一区在线发布 | 欧美国产精品 | 91免费电影 | 精品一区二区在线观看 | 日韩一二三区视频 | 一级毛片电影 | 高清视频一区 | 亚洲国产二区三区 | 久久一区 | 色婷婷一区二区三区 | 欧美天天| 欧美不卡一区二区三区 | 综合二区 | 狠狠艹 | 久久av一区二区三区亚洲 | 日韩在线视频观看免费 | 91极品视频在线观看 | 午夜激情免费在线观看 | 国产精品高潮呻吟av久久4虎 | 国产中文一区二区三区 | 天天干国产 | 91视频免费观看网址 | 亚洲九九 | 亚洲精品久久久久久久久久久 | 欧美影院| 中文字幕精品一区 | 91精品国产综合久久久久久丝袜 | 国产精品2019 | 久久噜噜噜精品国产亚洲综合 | 黄色在线免费观看 | 九九久久久 | 天天操狠狠操 | 国产羞羞视频在线观看 | 欧美精产国品一二三区 | 国产精品久久久精品 | 毛片福利| 国产欧美在线观看 | av三级 | 国产精品污www在线观看 | 亚洲欧美日韩国产综合精品二区 | 中文字幕在线视频网站 | 狠狠干av| 国产精品s色 | 91免费在线视频 | 欧洲视频一区二区 | 韩国精品在线 | 久久国产精品视频观看 | 亚洲一区二区三区四区五区中文 | 日本在线观看一区二区 | 欧美全黄| 亚洲成人高清在线 | 黄视频免费在线 | 国产精品久久久久久久毛片 | 99久久久精品 | 成人涩涩网站 | 欧洲美女性开放视频 | 一区在线视频 | 日韩一区二区在线观看 | 日本欧美在线观看 | av下一页 | 亚洲视频在线观看 | 日本不卡一区二区 | 亚洲欧洲精品一区二区 | 国产日韩在线视频 | 精品一区二区三区在线观看视频 | 国产1区 | 最新中文字幕视频 | 日本在线观看 | 亚洲免费在线看 | 亚洲成人观看 | 国产无毛 | 国产精品久久久久国产a级 国产精品欧美一区二区三区不卡 | 国产做a爰片久久毛片a我的朋友 | 一区 | 国产一二在线 | 亚洲黄色高清视频 | 免费日韩| 超碰官网 | 欧美日韩国产91 | 看毛片网站| 男女av在线 | 少妇久久久 | 97伦理电影院 | 中文字幕99 | 精品日韩欧美一区二区三区在线播放 | 国产999精品久久久久久 | 91精品在线播放 | 午夜精品在线 | 国产亚洲久久 | 天天躁日日躁aaaaxxxx | 亚洲精品一区二区三区在线 | 99热精品国产 | 97国产免费 | 欧美在线视频网 | 国产伦精品一区二区三区四区视频 | 成人一区视频 | av在线播放网址 | 久久成人一区 | 亚洲一区二区在线播放 | 亚洲一区二区三区久久久 | 国产精品久久久久久久久久三级 | 欧美日韩精品一区 | 久久久国产一区二区三区 | 天天干天天操天天干 | 国产精品免费一区二区三区四区 | 国产日韩视频在线播放 | 国产wwwcom | 国产视频一区在线 | 天天干女人 | 亚洲精品一区二区三区中文字幕 |