|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.quartz.DateBuilder
public class DateBuilder
DateBuilder
is used to conveniently create
java.util.Date
instances that meet particular criteria.
Quartz provides a builder-style API for constructing scheduling-related
entities via a Domain-Specific Language (DSL). The DSL can best be
utilized through the usage of static imports of the methods on the classes
TriggerBuilder
, JobBuilder
,
DateBuilder
, JobKey
, TriggerKey
and the various ScheduleBuilder
implementations.
Client code can then use the DSL to write code such as this:
JobDetail job = newJob(MyJob.class) .withIdentity("myJob") .build(); Trigger trigger = newTrigger() .withIdentity(triggerKey("myTrigger", "myTriggerGroup")) .withSchedule(simpleSchedule() .withIntervalInHours(1) .repeatForever()) .startAt(futureDate(10, MINUTES)) .build(); scheduler.scheduleJob(job, trigger);
TriggerBuilder
,
JobBuilder
Nested Class Summary | |
---|---|
static class |
DateBuilder.IntervalUnit
|
Field Summary | |
---|---|
static int |
FRIDAY
|
static long |
MILLISECONDS_IN_DAY
|
static long |
MILLISECONDS_IN_HOUR
|
static long |
MILLISECONDS_IN_MINUTE
|
static int |
MONDAY
|
static int |
SATURDAY
|
static long |
SECONDS_IN_MOST_DAYS
|
static int |
SUNDAY
|
static int |
THURSDAY
|
static int |
TUESDAY
|
static int |
WEDNESDAY
|
Method Summary | |
---|---|
DateBuilder |
atHourMinuteAndSecond(int hour,
int minute,
int second)
|
DateBuilder |
atHourOfDay(int hour)
Set the hour (0-23) for the Date that will be built by this builder. |
DateBuilder |
atMinute(int minute)
Set the minute (0-59) for the Date that will be built by this builder. |
DateBuilder |
atSecond(int second)
Set the second (0-59) for the Date that will be built by this builder, and truncate the milliseconds to 000. |
java.util.Date |
build()
Build the Date defined by this builder instance. |
static java.util.Date |
dateOf(int hour,
int minute,
int second)
Get a Date object that represents the given time, on
today's date (equivalent to todayAt(int, int, int) ). |
static java.util.Date |
dateOf(int hour,
int minute,
int second,
int dayOfMonth,
int month)
Get a Date object that represents the given time, on the
given date. |
static java.util.Date |
dateOf(int hour,
int minute,
int second,
int dayOfMonth,
int month,
int year)
Get a Date object that represents the given time, on the
given date. |
static java.util.Date |
evenHourDate(java.util.Date date)
Returns a date that is rounded to the next even hour above the given date. |
static java.util.Date |
evenHourDateAfterNow()
Returns a date that is rounded to the next even hour after the current time. |
static java.util.Date |
evenHourDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even hour below the given date. |
static java.util.Date |
evenMinuteDate(java.util.Date date)
Returns a date that is rounded to the next even minute above the given date. |
static java.util.Date |
evenMinuteDateAfterNow()
Returns a date that is rounded to the next even minute after the current time. |
static java.util.Date |
evenMinuteDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even minute below the given date. |
static java.util.Date |
evenSecondDate(java.util.Date date)
Returns a date that is rounded to the next even second above the given date. |
static java.util.Date |
evenSecondDateAfterNow()
Returns a date that is rounded to the next even second after the current time. |
static java.util.Date |
evenSecondDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even second below the given date. |
static java.util.Date |
futureDate(int interval,
DateBuilder.IntervalUnit unit)
|
DateBuilder |
inLocale(java.util.Locale lc)
Set the Locale for the Date that will be built by this builder (if "null", system default will be used) |
DateBuilder |
inMonth(int month)
Set the month (1-12) for the Date that will be built by this builder. |
DateBuilder |
inMonthOnDay(int month,
int day)
|
DateBuilder |
inTimeZone(java.util.TimeZone tz)
Set the TimeZone for the Date that will be built by this builder (if "null", system default will be used) |
DateBuilder |
inYear(int year)
Set the year for the Date that will be built by this builder. |
static DateBuilder |
newDate()
Create a DateBuilder, with initial settings for the current date and time in the system default timezone. |
static DateBuilder |
newDateInLocale(java.util.Locale lc)
Create a DateBuilder, with initial settings for the current date and time in the given locale. |
static DateBuilder |
newDateInTimezone(java.util.TimeZone tz)
Create a DateBuilder, with initial settings for the current date and time in the given timezone. |
static DateBuilder |
newDateInTimeZoneAndLocale(java.util.TimeZone tz,
java.util.Locale lc)
Create a DateBuilder, with initial settings for the current date and time in the given timezone and locale. |
static java.util.Date |
nextGivenMinuteDate(java.util.Date date,
int minuteBase)
Returns a date that is rounded to the next even multiple of the given minute. |
static java.util.Date |
nextGivenSecondDate(java.util.Date date,
int secondBase)
Returns a date that is rounded to the next even multiple of the given minute. |
DateBuilder |
onDay(int day)
Set the day of month (1-31) for the Date that will be built by this builder. |
static java.util.Date |
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) ). |
static java.util.Date |
tomorrowAt(int hour,
int minute,
int second)
Get a Date object that represents the given time, on
tomorrow's date. |
static java.util.Date |
translateTime(java.util.Date date,
java.util.TimeZone src,
java.util.TimeZone dest)
Translate a date & time from a users time zone to the another (probably server) time zone to assist in creating a simple trigger with the right date & time. |
static void |
validateDayOfMonth(int day)
|
static void |
validateDayOfWeek(int dayOfWeek)
|
static void |
validateHour(int hour)
|
static void |
validateMinute(int minute)
|
static void |
validateMonth(int month)
|
static void |
validateSecond(int second)
|
static void |
validateYear(int year)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int SUNDAY
public static final int MONDAY
public static final int TUESDAY
public static final int WEDNESDAY
public static final int THURSDAY
public static final int FRIDAY
public static final int SATURDAY
public static final long MILLISECONDS_IN_MINUTE
public static final long MILLISECONDS_IN_HOUR
public static final long SECONDS_IN_MOST_DAYS
public static final long MILLISECONDS_IN_DAY
Method Detail |
---|
public static DateBuilder newDate()
public static DateBuilder newDateInTimezone(java.util.TimeZone tz)
public static DateBuilder newDateInLocale(java.util.Locale lc)
public static DateBuilder newDateInTimeZoneAndLocale(java.util.TimeZone tz, java.util.Locale lc)
public java.util.Date build()
public DateBuilder atHourOfDay(int hour)
public DateBuilder atMinute(int minute)
public DateBuilder atSecond(int second)
public DateBuilder atHourMinuteAndSecond(int hour, int minute, int second)
public DateBuilder onDay(int day)
public DateBuilder inMonth(int month)
public DateBuilder inMonthOnDay(int month, int day)
public DateBuilder inYear(int year)
public DateBuilder inTimeZone(java.util.TimeZone tz)
public DateBuilder inLocale(java.util.Locale lc)
public static java.util.Date futureDate(int interval, DateBuilder.IntervalUnit unit)
public static java.util.Date tomorrowAt(int hour, int minute, int second)
Get a Date
object that represents the given time, on
tomorrow's date.
second
- The value (0-59) to give the seconds field of the dateminute
- The value (0-59) to give the minutes field of the datehour
- The value (0-23) to give the hours field of the date
public static java.util.Date 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)
).
second
- The value (0-59) to give the seconds field of the dateminute
- The value (0-59) to give the minutes field of the datehour
- The value (0-23) to give the hours field of the date
public static java.util.Date dateOf(int hour, int minute, int second)
Get a Date
object that represents the given time, on
today's date (equivalent to todayAt(int, int, int)
).
second
- The value (0-59) to give the seconds field of the dateminute
- The value (0-59) to give the minutes field of the datehour
- The value (0-23) to give the hours field of the date
public static java.util.Date dateOf(int hour, int minute, int second, int dayOfMonth, int month)
Get a Date
object that represents the given time, on the
given date.
second
- The value (0-59) to give the seconds field of the dateminute
- The value (0-59) to give the minutes field of the datehour
- The value (0-23) to give the hours field of the datedayOfMonth
- The value (1-31) to give the day of month field of the datemonth
- The value (1-12) to give the month field of the date
public static java.util.Date dateOf(int hour, int minute, int second, int dayOfMonth, int month, int year)
Get a Date
object that represents the given time, on the
given date.
second
- The value (0-59) to give the seconds field of the dateminute
- The value (0-59) to give the minutes field of the datehour
- The value (0-23) to give the hours field of the datedayOfMonth
- The value (1-31) to give the day of month field of the datemonth
- The value (1-12) to give the month field of the dateyear
- The value (1970-2099) to give the year field of the date
public static java.util.Date evenHourDateAfterNow()
Returns a date that is rounded to the next even hour after the current time.
For example a current time of 08:13:54 would result in a date with the time of 09:00:00. If the date's time is in the 23rd hour, the date's 'day' will be promoted, and the time will be set to 00:00:00.
public static java.util.Date evenHourDate(java.util.Date date)
Returns a date that is rounded to the next even hour above the given date.
For example an input date with a time of 08:13:54 would result in a date with the time of 09:00:00. If the date's time is in the 23rd hour, the date's 'day' will be promoted, and the time will be set to 00:00:00.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date evenHourDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even hour below the given date.
For example an input date with a time of 08:13:54 would result in a date with the time of 08:00:00.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date evenMinuteDateAfterNow()
Returns a date that is rounded to the next even minute after the current time.
For example a current time of 08:13:54 would result in a date with the time of 08:14:00. If the date's time is in the 59th minute, then the hour (and possibly the day) will be promoted.
public static java.util.Date evenMinuteDate(java.util.Date date)
Returns a date that is rounded to the next even minute above the given date.
For example an input date with a time of 08:13:54 would result in a date with the time of 08:14:00. If the date's time is in the 59th minute, then the hour (and possibly the day) will be promoted.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date evenMinuteDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even minute below the given date.
For example an input date with a time of 08:13:54 would result in a date with the time of 08:13:00.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date evenSecondDateAfterNow()
Returns a date that is rounded to the next even second after the current time.
public static java.util.Date evenSecondDate(java.util.Date date)
Returns a date that is rounded to the next even second above the given date.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date evenSecondDateBefore(java.util.Date date)
Returns a date that is rounded to the previous even second below the given date.
For example an input date with a time of 08:13:54.341 would result in a date with the time of 08:13:00.000.
date
- the Date to round, if null
the current time will
be used
public static java.util.Date nextGivenMinuteDate(java.util.Date date, int minuteBase)
Returns a date that is rounded to the next even multiple of the given minute.
For example an input date with a time of 08:13:54, and an input minute-base of 5 would result in a date with the time of 08:15:00. The same input date with an input minute-base of 10 would result in a date with the time of 08:20:00. But a date with the time 08:53:31 and an input minute-base of 45 would result in 09:00:00, because the even-hour is the next 'base' for 45-minute intervals.
More examples:
Input Time | Minute-Base | Result Time |
---|---|---|
11:16:41 | 20 | 11:20:00 |
11:36:41 | 20 | 11:40:00 |
11:46:41 | 20 | 12:00:00 |
11:26:41 | 30 | 11:30:00 |
11:36:41 | 30 | 12:00:00 | 11:16:41 | 17 | 11:17:00 | 11:17:41 | 17 | 11:34:00 | 11:52:41 | 17 | 12:00:00 | 11:52:41 | 5 | 11:55:00 | 11:57:41 | 5 | 12:00:00 | 11:17:41 | 0 | 12:00:00 | 11:17:41 | 1 | 11:08:00 |
date
- the Date to round, if null
the current time will
be usedminuteBase
- the base-minute to set the time on
nextGivenSecondDate(Date, int)
public static java.util.Date nextGivenSecondDate(java.util.Date date, int secondBase)
Returns a date that is rounded to the next even multiple of the given minute.
The rules for calculating the second are the same as those for
calculating the minute in the method
getNextGivenMinuteDate(..)
.
date
- the Date to round, if null
the current time will
be usedsecondBase
- the base-second to set the time on
nextGivenMinuteDate(Date, int)
public static java.util.Date translateTime(java.util.Date date, java.util.TimeZone src, java.util.TimeZone dest)
date
- the date to translatesrc
- the original time-zonedest
- the destination time-zone
public static void validateDayOfWeek(int dayOfWeek)
public static void validateHour(int hour)
public static void validateMinute(int minute)
public static void validateSecond(int second)
public static void validateDayOfMonth(int day)
public static void validateMonth(int month)
public static void validateYear(int year)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |