日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Quartz-DateBuilder解读

發布時間:2025/3/21 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Quartz-DateBuilder解读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 概述
  • 示例
    • todayAt / tomorrowAt 今天/明天的某個時間
    • evenMinuteDate 返回下一分鐘的開始時間
    • evenMinuteDateBefore 獲取開始時間
    • dateOf 指定日期
    • nextGivenMinuteDate 下一個給定分鐘日期
    • translateTime 轉換時間
    • futureDate 未來時間
  • 示例源碼

概述

官方API:
http://www.quartz-scheduler.org/api/2.2.1/index.html


示例

todayAt / tomorrowAt 今天/明天的某個時間

Date org.quartz.DateBuilder.todayAt(int hour, int minute, int second)Get a Date object that represents the given time, on today's date (equivalent to dateOf(int, int, int)). Parameters: second The value (0-59) to give the seconds field of the date minute The value (0-59) to give the minutes field of the date hour The value (0-23) to give the hours field of the date Returns: the new date

例子

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// todayAt Date runTime = DateBuilder.todayAt(17, 30, 45); System.out.println("當前時間:" + sdf.format(new Date())); System.out.println("runTime:" + sdf.format(runTime));

輸出

當前時間:2017-11-16 00:39:06 runTime:2017-11-16 17:30:45

對應的方法有

  • todayAt:今天的某個時間

  • tomorrowAt:明天的某個時間


evenMinuteDate 返回下一分鐘的開始時間

// evenMinuteDate runTime = DateBuilder.evenMinuteDate(new Date()); System.out.println("當前時間:" + sdf.format(new Date())); System.out.println("runTime:" + sdf.format(runTime));

輸出

當前時間:2017-11-16 00:40:02 runTime:2017-11-16 00:41:00

對應的方法有

  • evenSecondDate(new Date()):下一秒

  • evenMinuteDate(new Date()):下一分鐘

  • evenHourDate(new Date()):下一小時

  • evenSecondDateAfterNow():當前時間的下一秒

  • evenMinuteDateAfterNow():當前時間的下一分鐘

  • evenHourDateAfterNow():當前時間的下一小時


evenMinuteDateBefore 獲取開始時間

// evenMinuteDateBefore runTime = DateBuilder.evenMinuteDateBefore(new Date()); System.out.println("當前時間:" + sdf.format(new Date())); System.out.println("runTime:" + sdf.format(runTime));

輸出

當前時間:2017-11-16 00:44:06 runTime:2017-11-16 00:44:00

對應的方法有

  • evenSecondDateBefore(new Date()):秒的開始執行時間,例如:2017-11-16 15:07:55

  • evenMinuteDateBefore(new Date()):分鐘的開始執行時間,例如:2017-11-16 15:41:00

  • evenHourDateBefore(new Date()):小時的開始執行時間,例如:2017-11-16 15:00:00


dateOf 指定日期

// dateof Date dateOf_1 = DateBuilder.dateOf(13, 10, 10); Date dateOf_2 = DateBuilder.dateOf(13, 10, 10, 1, 1); Date dateOf_3 = DateBuilder.dateOf(13, 10, 10, 1, 1, 2016);System.out.println("當前時間:" + sdf.format(new Date())); System.out.println("dateOf_1:" + sdf.format(dateOf_1)); System.out.println("dateOf_2:" + sdf.format(dateOf_2)); System.out.println("dateOf_3:" + sdf.format(dateOf_3));

輸出

當前時間:2017-11-16 00:45:39 dateOf_1:2017-11-16 13:10:10 dateOf_2:2017-01-01 13:10:10 dateOf_3:2016-01-01 13:10:10

nextGivenMinuteDate 下一個給定分鐘日期

// nextGivenMinuteDate runTime = DateBuilder.nextGivenMinuteDate(new Date(), 1); System.out.println("當前時間:" + sdf.format(new Date())); System.out.println("runTime:" + sdf.format(runTime));

輸出

當前時間:2017-11-16 00:47:31 runTime:2017-11-16 00:50:00

對應的方法有

  • nextGivenSecondDate:下一個給定秒的時間

  • nextGivenMinuteDate:下一個給定分鐘的時間


translateTime 轉換時間

translateTime方法有三個參數(date,src,dest),返回轉換后的時間

  • date:需要轉換的時間
  • src:原始時區
  • dest:目標時區
// 轉換時區 “美國/洛杉磯” runTime = DateBuilder.translateTime(new Date(), TimeZone.getDefault(), TimeZone.getTimeZone("America/Los_Angeles"));System.out.println("當前時間:" + sdf.format(new Date())); System.out.println("runTime:" + sdf.format(runTime));

輸出

當前時間:2017-11-16 00:51:56 runTime:2017-11-16 04:51:56

人在南美洲玻利維亞…,如果是國內的話,肯定不是這個輸出了。


futureDate 未來時間

futureDate(int interval,DateBuilder.IntervalUnit unit)

  • interval:間隔

  • unit:間隔單位,毫秒、秒、分鐘、小時、天、周、月、年

// futureDate runTime = DateBuilder.futureDate(10, DateBuilder.IntervalUnit.MINUTE); System.out.println("當前時間:" + sdf.format(new Date())); System.out.println("runTime:" + sdf.format(runTime));

輸出

當前時間:2017-11-16 00:54:10 runTime:2017-11-16 01:04:10

除了上面返回Date類型的方法之外還有另外幾個方法 :4個返回DateBuilder類型方法

  • newDate()

  • newDateInLocale(Locale)

  • newDateInTimezone(Timezone)

  • newDateInTimeZoneAndLocale(Timezone, Locale)

7個void驗證方法:

  • validateSecond(int)

  • validateMinute(int)

  • validateHour(int)

  • validateDayOfMonth(int)

  • validateDayOfWeek(int)

  • validateMonth(int)

  • validateYear(int)


示例源碼

代碼已托管到Github—> https://github.com/yangshangwei/SpringMaster

總結

以上是生活随笔為你收集整理的Quartz-DateBuilder解读的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。