Class DateTime
- java.lang.Object
-
- org.joda.time.base.AbstractInstant
-
- org.joda.time.base.AbstractDateTime
-
- org.joda.time.base.BaseDateTime
-
- org.joda.time.DateTime
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<ReadableInstant>
,ReadableDateTime
,ReadableInstant
public final class DateTime extends BaseDateTime implements ReadableDateTime, java.io.Serializable
DateTime is the standard implementation of an unmodifiable datetime class.DateTime
is the most widely used implementation ofReadableInstant
. As with all instants, it represents an exact point on the time-line, but limited to the precision of milliseconds. ADateTime
calculates its fields with respect to atime zone
.Internally, the class holds two pieces of data. Firstly, it holds the datetime as milliseconds from the Java epoch of 1970-01-01T00:00:00Z. Secondly, it holds a
Chronology
which determines how the millisecond instant value is converted into the date time fields. The default Chronology isISOChronology
which is the agreed international standard and compatible with the modern Gregorian calendar.Each individual field can be queried in two ways:
getHourOfDay()
hourOfDay().get()
- numeric value
- text value
- short text value
- maximum/minimum values
- add/subtract
- set
- rounding
DateTime is thread-safe and immutable, provided that the Chronology is as well. All standard Chronology classes supplied are thread-safe and immutable.
- Since:
- 1.0
- See Also:
MutableDateTime
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DateTime.Property
DateTime.Property binds a DateTime to a DateTimeField allowing powerful datetime functionality to be easily accessed.
-
Constructor Summary
Constructors Constructor Description DateTime()
Constructs an instance set to the current system millisecond time usingISOChronology
in the default time zone.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour)
Constructs an instance from datetime field values usingISOChronology
in the default time zone.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute)
Constructs an instance from datetime field values usingISOChronology
in the default time zone.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)
Constructs an instance from datetime field values usingISOChronology
in the default time zone.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond, Chronology chronology)
Constructs an instance from datetime field values using the specified chronology.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond, DateTimeZone zone)
Constructs an instance from datetime field values usingISOChronology
in the specified time zone.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, Chronology chronology)
Constructs an instance from datetime field values using the specified chronology.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, DateTimeZone zone)
Constructs an instance from datetime field values usingISOChronology
in the specified time zone.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, Chronology chronology)
Constructs an instance from datetime field values using the specified chronology.DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, DateTimeZone zone)
Constructs an instance from datetime field values usingISOChronology
in the specified time zone.DateTime(long instant)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z usingISOChronology
in the default time zone.DateTime(long instant, Chronology chronology)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z using the specified chronology.DateTime(long instant, DateTimeZone zone)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z usingISOChronology
in the specified time zone.DateTime(java.lang.Object instant)
Constructs an instance from an Object that represents a datetime.DateTime(java.lang.Object instant, Chronology chronology)
Constructs an instance from an Object that represents a datetime, using the specified chronology.DateTime(java.lang.Object instant, DateTimeZone zone)
Constructs an instance from an Object that represents a datetime, forcing the time zone to that specified.DateTime(Chronology chronology)
Constructs an instance set to the current system millisecond time using the specified chronology.DateTime(DateTimeZone zone)
Constructs an instance set to the current system millisecond time usingISOChronology
in the specified time zone.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description DateTime.Property
centuryOfEra()
Get the century of era property which provides access to advanced functionality.DateTime.Property
dayOfMonth()
Get the day of month property which provides access to advanced functionality.DateTime.Property
dayOfWeek()
Get the day of week property which provides access to advanced functionality.DateTime.Property
dayOfYear()
Get the day of year property which provides access to advanced functionality.DateTime.Property
era()
Get the era property which provides access to advanced functionality.DateTime.Property
hourOfDay()
Get the hour of day field property which provides access to advanced functionality.DateTime.Property
millisOfDay()
Get the millis of day property which provides access to advanced functionality.DateTime.Property
millisOfSecond()
Get the millis of second property which provides access to advanced functionality.DateTime
minus(long duration)
Returns a copy of this datetime with the specified duration taken away.DateTime
minus(ReadableDuration duration)
Returns a copy of this datetime with the specified duration taken away.DateTime
minus(ReadablePeriod period)
Returns a copy of this datetime with the specified period taken away.DateTime
minusDays(int days)
Returns a copy of this datetime minus the specified number of days.DateTime
minusHours(int hours)
Returns a copy of this datetime minus the specified number of hours.DateTime
minusMillis(int millis)
Returns a copy of this datetime minus the specified number of millis.DateTime
minusMinutes(int minutes)
Returns a copy of this datetime minus the specified number of minutes.DateTime
minusMonths(int months)
Returns a copy of this datetime minus the specified number of months.DateTime
minusSeconds(int seconds)
Returns a copy of this datetime minus the specified number of seconds.DateTime
minusWeeks(int weeks)
Returns a copy of this datetime minus the specified number of weeks.DateTime
minusYears(int years)
Returns a copy of this datetime minus the specified number of years.DateTime.Property
minuteOfDay()
Get the minute of day property which provides access to advanced functionality.DateTime.Property
minuteOfHour()
Get the minute of hour field property which provides access to advanced functionality.DateTime.Property
monthOfYear()
Get the month of year property which provides access to advanced functionality.static DateTime
now()
Obtains aDateTime
set to the current system millisecond time usingISOChronology
in the default time zone.static DateTime
now(Chronology chronology)
Obtains aDateTime
set to the current system millisecond time using the specified chronology.static DateTime
now(DateTimeZone zone)
Obtains aDateTime
set to the current system millisecond time usingISOChronology
in the specified time zone.static DateTime
parse(java.lang.String str)
Parses aDateTime
from the specified string.static DateTime
parse(java.lang.String str, DateTimeFormatter formatter)
Parses aDateTime
from the specified string using a formatter.DateTime
plus(long duration)
Returns a copy of this datetime with the specified duration added.DateTime
plus(ReadableDuration duration)
Returns a copy of this datetime with the specified duration added.DateTime
plus(ReadablePeriod period)
Returns a copy of this datetime with the specified period added.DateTime
plusDays(int days)
Returns a copy of this datetime plus the specified number of days.DateTime
plusHours(int hours)
Returns a copy of this datetime plus the specified number of hours.DateTime
plusMillis(int millis)
Returns a copy of this datetime plus the specified number of millis.DateTime
plusMinutes(int minutes)
Returns a copy of this datetime plus the specified number of minutes.DateTime
plusMonths(int months)
Returns a copy of this datetime plus the specified number of months.DateTime
plusSeconds(int seconds)
Returns a copy of this datetime plus the specified number of seconds.DateTime
plusWeeks(int weeks)
Returns a copy of this datetime plus the specified number of weeks.DateTime
plusYears(int years)
Returns a copy of this datetime plus the specified number of years.DateTime.Property
property(DateTimeFieldType type)
Gets the property object for the specified type, which contains many useful methods.DateTime.Property
secondOfDay()
Get the second of day property which provides access to advanced functionality.DateTime.Property
secondOfMinute()
Get the second of minute field property which provides access to advanced functionality.DateMidnight
toDateMidnight()
Deprecated.DateMidnight is deprecatedDateTime
toDateTime()
Get this object as a DateTime by returningthis
.DateTime
toDateTime(Chronology chronology)
Get this object as a DateTime, returningthis
if possible.DateTime
toDateTime(DateTimeZone zone)
Get this object as a DateTime, returningthis
if possible.DateTime
toDateTimeISO()
Get this object as a DateTime using ISOChronology in the default zone, returningthis
if possible.LocalDate
toLocalDate()
Converts this object to aLocalDate
with the same date and chronology.LocalDateTime
toLocalDateTime()
Converts this object to aLocalDateTime
with the same datetime and chronology.LocalTime
toLocalTime()
Converts this object to aLocalTime
with the same time and chronology.TimeOfDay
toTimeOfDay()
Deprecated.Use LocalTime instead of TimeOfDayYearMonthDay
toYearMonthDay()
Deprecated.Use LocalDate instead of YearMonthDayDateTime.Property
weekOfWeekyear()
Get the week of a week based year property which provides access to advanced functionality.DateTime.Property
weekyear()
Get the year of a week based year property which provides access to advanced functionality.DateTime
withCenturyOfEra(int centuryOfEra)
Returns a copy of this datetime with the century of era field updated.DateTime
withChronology(Chronology newChronology)
Returns a copy of this datetime with a different chronology.DateTime
withDate(int year, int monthOfYear, int dayOfMonth)
Returns a copy of this datetime with the specified date, retaining the time fields.DateTime
withDate(LocalDate date)
Returns a copy of this datetime with the specified date, retaining the time fields.DateTime
withDayOfMonth(int dayOfMonth)
Returns a copy of this datetime with the day of month field updated.DateTime
withDayOfWeek(int dayOfWeek)
Returns a copy of this datetime with the day of week field updated.DateTime
withDayOfYear(int dayOfYear)
Returns a copy of this datetime with the day of year field updated.DateTime
withDurationAdded(long durationToAdd, int scalar)
Returns a copy of this datetime with the specified duration added.DateTime
withDurationAdded(ReadableDuration durationToAdd, int scalar)
Returns a copy of this datetime with the specified duration added.DateTime
withEarlierOffsetAtOverlap()
Returns a copy of this ZonedDateTime changing the zone offset to the earlier of the two valid offsets at a local time-line overlap.DateTime
withEra(int era)
Returns a copy of this datetime with the era field updated.DateTime
withField(DateTimeFieldType fieldType, int value)
Returns a copy of this datetime with the specified field set to a new value.DateTime
withFieldAdded(DurationFieldType fieldType, int amount)
Returns a copy of this datetime with the value of the specified field increased.DateTime
withFields(ReadablePartial partial)
Returns a copy of this datetime with the partial set of fields replacing those from this instance.DateTime
withHourOfDay(int hour)
Returns a copy of this datetime with the hour of day field updated.DateTime
withLaterOffsetAtOverlap()
Returns a copy of this ZonedDateTime changing the zone offset to the later of the two valid offsets at a local time-line overlap.DateTime
withMillis(long newMillis)
Returns a copy of this datetime with different millis.DateTime
withMillisOfDay(int millis)
Returns a copy of this datetime with the millis of day field updated.DateTime
withMillisOfSecond(int millis)
Returns a copy of this datetime with the millis of second field updated.DateTime
withMinuteOfHour(int minute)
Returns a copy of this datetime with the minute of hour updated.DateTime
withMonthOfYear(int monthOfYear)
Returns a copy of this datetime with the month of year field updated.DateTime
withPeriodAdded(ReadablePeriod period, int scalar)
Returns a copy of this datetime with the specified period added.DateTime
withSecondOfMinute(int second)
Returns a copy of this datetime with the second of minute field updated.DateTime
withTime(int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)
Returns a copy of this datetime with the specified time, retaining the date fields.DateTime
withTime(LocalTime time)
Returns a copy of this datetime with the specified time, retaining the date fields.DateTime
withTimeAtStartOfDay()
Returns a copy of this datetime with the time set to the start of the day.DateTime
withWeekOfWeekyear(int weekOfWeekyear)
Returns a copy of this datetime with the week of weekyear field updated.DateTime
withWeekyear(int weekyear)
Returns a copy of this datetime with the weekyear field updated.DateTime
withYear(int year)
Returns a copy of this datetime with the year field updated.DateTime
withYearOfCentury(int yearOfCentury)
Returns a copy of this datetime with the year of century field updated.DateTime
withYearOfEra(int yearOfEra)
Returns a copy of this datetime with the year of era field updated.DateTime
withZone(DateTimeZone newZone)
Returns a copy of this datetime with a different time zone, preserving the millisecond instant.DateTime
withZoneRetainFields(DateTimeZone newZone)
Returns a copy of this datetime with a different time zone, preserving the field values.DateTime.Property
year()
Get the year property which provides access to advanced functionality.DateTime.Property
yearOfCentury()
Get the year of century property which provides access to advanced functionality.DateTime.Property
yearOfEra()
Get the year of era property which provides access to advanced functionality.-
Methods inherited from class org.joda.time.base.BaseDateTime
getChronology, getMillis
-
Methods inherited from class org.joda.time.base.AbstractDateTime
get, getCenturyOfEra, getDayOfMonth, getDayOfWeek, getDayOfYear, getEra, getHourOfDay, getMillisOfDay, getMillisOfSecond, getMinuteOfDay, getMinuteOfHour, getMonthOfYear, getSecondOfDay, getSecondOfMinute, getWeekOfWeekyear, getWeekyear, getYear, getYearOfCentury, getYearOfEra, toCalendar, toGregorianCalendar, toString, toString, toString
-
Methods inherited from class org.joda.time.base.AbstractInstant
compareTo, equals, get, getZone, hashCode, isAfter, isAfter, isAfterNow, isBefore, isBefore, isBeforeNow, isEqual, isEqual, isEqualNow, isSupported, toDate, toInstant, toMutableDateTime, toMutableDateTime, toMutableDateTime, toMutableDateTimeISO, toString
-
Methods inherited from interface org.joda.time.ReadableDateTime
getCenturyOfEra, getDayOfMonth, getDayOfWeek, getDayOfYear, getEra, getHourOfDay, getMillisOfDay, getMillisOfSecond, getMinuteOfDay, getMinuteOfHour, getMonthOfYear, getSecondOfDay, getSecondOfMinute, getWeekOfWeekyear, getWeekyear, getYear, getYearOfCentury, getYearOfEra, toMutableDateTime, toString, toString
-
Methods inherited from interface org.joda.time.ReadableInstant
equals, get, getChronology, getMillis, getZone, hashCode, isAfter, isBefore, isEqual, isSupported, toInstant, toString
-
-
-
-
Constructor Detail
-
DateTime
public DateTime()
Constructs an instance set to the current system millisecond time usingISOChronology
in the default time zone.- See Also:
now()
-
DateTime
public DateTime(DateTimeZone zone)
Constructs an instance set to the current system millisecond time usingISOChronology
in the specified time zone.If the specified time zone is null, the default zone is used.
- Parameters:
zone
- the time zone, null means default zone- See Also:
now(DateTimeZone)
-
DateTime
public DateTime(Chronology chronology)
Constructs an instance set to the current system millisecond time using the specified chronology.If the chronology is null,
ISOChronology
in the default time zone is used.- Parameters:
chronology
- the chronology, null means ISOChronology in default zone- See Also:
now(Chronology)
-
DateTime
public DateTime(long instant)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z usingISOChronology
in the default time zone.- Parameters:
instant
- the milliseconds from 1970-01-01T00:00:00Z
-
DateTime
public DateTime(long instant, DateTimeZone zone)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z usingISOChronology
in the specified time zone.If the specified time zone is null, the default zone is used.
- Parameters:
instant
- the milliseconds from 1970-01-01T00:00:00Zzone
- the time zone, null means default zone
-
DateTime
public DateTime(long instant, Chronology chronology)
Constructs an instance set to the milliseconds from 1970-01-01T00:00:00Z using the specified chronology.If the chronology is null,
ISOChronology
in the default time zone is used.- Parameters:
instant
- the milliseconds from 1970-01-01T00:00:00Zchronology
- the chronology, null means ISOChronology in default zone
-
DateTime
public DateTime(java.lang.Object instant)
Constructs an instance from an Object that represents a datetime.If the object implies a chronology (such as GregorianCalendar does), then that chronology will be used. Otherwise, ISO default is used. Thus if a GregorianCalendar is passed in, the chronology used will be GJ, but if a Date is passed in the chronology will be ISO.
The recognised object types are defined in
ConverterManager
and include ReadableInstant, String, Calendar and Date. The String formats are described byISODateTimeFormat.dateTimeParser()
.- Parameters:
instant
- the datetime object, null means now- Throws:
java.lang.IllegalArgumentException
- if the instant is invalid
-
DateTime
public DateTime(java.lang.Object instant, DateTimeZone zone)
Constructs an instance from an Object that represents a datetime, forcing the time zone to that specified.If the object implies a chronology (such as GregorianCalendar does), then that chronology will be used, but with the time zone adjusted. Otherwise, ISO is used in the specified time zone. If the specified time zone is null, the default zone is used. Thus if a GregorianCalendar is passed in, the chronology used will be GJ, but if a Date is passed in the chronology will be ISO.
The recognised object types are defined in
ConverterManager
and include ReadableInstant, String, Calendar and Date. The String formats are described byISODateTimeFormat.dateTimeParser()
.- Parameters:
instant
- the datetime object, null means nowzone
- the time zone, null means default time zone- Throws:
java.lang.IllegalArgumentException
- if the instant is invalid
-
DateTime
public DateTime(java.lang.Object instant, Chronology chronology)
Constructs an instance from an Object that represents a datetime, using the specified chronology.If the chronology is null, ISO in the default time zone is used. Any chronology implied by the object (such as GregorianCalendar does) is ignored.
The recognised object types are defined in
ConverterManager
and include ReadableInstant, String, Calendar and Date. The String formats are described byISODateTimeFormat.dateTimeParser()
.- Parameters:
instant
- the datetime object, null means nowchronology
- the chronology, null means ISO in default zone- Throws:
java.lang.IllegalArgumentException
- if the instant is invalid
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour)
Constructs an instance from datetime field values usingISOChronology
in the default time zone.- Parameters:
year
- the yearmonthOfYear
- the month of the year, from 1 to 12dayOfMonth
- the day of the month, from 1 to 31hourOfDay
- the hour of the day, from 0 to 23minuteOfHour
- the minute of the hour, from 0 to 59- Since:
- 2.0
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, DateTimeZone zone)
Constructs an instance from datetime field values usingISOChronology
in the specified time zone.If the specified time zone is null, the default zone is used.
- Parameters:
year
- the yearmonthOfYear
- the month of the year, from 1 to 12dayOfMonth
- the day of the month, from 1 to 31hourOfDay
- the hour of the day, from 0 to 23minuteOfHour
- the minute of the hour, from 0 to 59zone
- the time zone, null means default time zone- Since:
- 2.0
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, Chronology chronology)
Constructs an instance from datetime field values using the specified chronology.If the chronology is null,
ISOChronology
in the default time zone is used.- Parameters:
year
- the year, valid values defined by the chronologymonthOfYear
- the month of the year, valid values defined by the chronologydayOfMonth
- the day of the month, valid values defined by the chronologyhourOfDay
- the hour of the day, valid values defined by the chronologyminuteOfHour
- the minute of the hour, valid values defined by the chronologychronology
- the chronology, null means ISOChronology in default zone- Since:
- 2.0
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute)
Constructs an instance from datetime field values usingISOChronology
in the default time zone.- Parameters:
year
- the yearmonthOfYear
- the month of the year, from 1 to 12dayOfMonth
- the day of the month, from 1 to 31hourOfDay
- the hour of the day, from 0 to 23minuteOfHour
- the minute of the hour, from 0 to 59secondOfMinute
- the second of the minute, from 0 to 59- Since:
- 2.0
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, DateTimeZone zone)
Constructs an instance from datetime field values usingISOChronology
in the specified time zone.If the specified time zone is null, the default zone is used.
- Parameters:
year
- the yearmonthOfYear
- the month of the year, from 1 to 12dayOfMonth
- the day of the month, from 1 to 31hourOfDay
- the hour of the day, from 0 to 23minuteOfHour
- the minute of the hour, from 0 to 59secondOfMinute
- the second of the minute, from 0 to 59zone
- the time zone, null means default time zone- Since:
- 2.0
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, Chronology chronology)
Constructs an instance from datetime field values using the specified chronology.If the chronology is null,
ISOChronology
in the default time zone is used.- Parameters:
year
- the year, valid values defined by the chronologymonthOfYear
- the month of the year, valid values defined by the chronologydayOfMonth
- the day of the month, valid values defined by the chronologyhourOfDay
- the hour of the day, valid values defined by the chronologyminuteOfHour
- the minute of the hour, valid values defined by the chronologysecondOfMinute
- the second of the minute, valid values defined by the chronologychronology
- the chronology, null means ISOChronology in default zone- Since:
- 2.0
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)
Constructs an instance from datetime field values usingISOChronology
in the default time zone.- Parameters:
year
- the yearmonthOfYear
- the month of the year, from 1 to 12dayOfMonth
- the day of the month, from 1 to 31hourOfDay
- the hour of the day, from 0 to 23minuteOfHour
- the minute of the hour, from 0 to 59secondOfMinute
- the second of the minute, from 0 to 59millisOfSecond
- the millisecond of the second, from 0 to 999
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond, DateTimeZone zone)
Constructs an instance from datetime field values usingISOChronology
in the specified time zone.If the specified time zone is null, the default zone is used.
- Parameters:
year
- the yearmonthOfYear
- the month of the year, from 1 to 12dayOfMonth
- the day of the month, from 1 to 31hourOfDay
- the hour of the day, from 0 to 23minuteOfHour
- the minute of the hour, from 0 to 59secondOfMinute
- the second of the minute, from 0 to 59millisOfSecond
- the millisecond of the second, from 0 to 999zone
- the time zone, null means default time zone
-
DateTime
public DateTime(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond, Chronology chronology)
Constructs an instance from datetime field values using the specified chronology.If the chronology is null,
ISOChronology
in the default time zone is used.- Parameters:
year
- the year, valid values defined by the chronologymonthOfYear
- the month of the year, valid values defined by the chronologydayOfMonth
- the day of the month, valid values defined by the chronologyhourOfDay
- the hour of the day, valid values defined by the chronologyminuteOfHour
- the minute of the hour, valid values defined by the chronologysecondOfMinute
- the second of the minute, valid values defined by the chronologymillisOfSecond
- the millisecond of the second, valid values defined by the chronologychronology
- the chronology, null means ISOChronology in default zone
-
-
Method Detail
-
now
public static DateTime now()
Obtains aDateTime
set to the current system millisecond time usingISOChronology
in the default time zone.- Returns:
- the current date-time, not null
- Since:
- 2.0
-
now
public static DateTime now(DateTimeZone zone)
Obtains aDateTime
set to the current system millisecond time usingISOChronology
in the specified time zone.- Parameters:
zone
- the time zone, not null- Returns:
- the current date-time, not null
- Since:
- 2.0
-
now
public static DateTime now(Chronology chronology)
Obtains aDateTime
set to the current system millisecond time using the specified chronology.- Parameters:
chronology
- the chronology, not null- Returns:
- the current date-time, not null
- Since:
- 2.0
-
parse
public static DateTime parse(java.lang.String str)
Parses aDateTime
from the specified string.This uses
ISODateTimeFormat.dateTimeParser()
.withOffsetParsed()
which is different to passing aString
to the constructor.Sometimes this method and
new DateTime(str)
return different results. This can be confusing as the difference is not visible inAbstractDateTime.toString()
.When passed a date-time string without an offset, such as '2010-06-30T01:20', both the constructor and this method use the default time-zone. As such,
DateTime.parse("2010-06-30T01:20")
andnew DateTime("2010-06-30T01:20"))
are equal.However, when this method is passed a date-time string with an offset, the offset is directly parsed and stored. As such,
DateTime.parse("2010-06-30T01:20+02:00")
andnew DateTime("2010-06-30T01:20+02:00"))
are NOT equal. The object produced via this method has a zone ofDateTimeZone.forOffsetHours(2)
. The object produced via the constructor has a zone ofDateTimeZone.getDefault()
.- Parameters:
str
- the string to parse, not null- Since:
- 2.0
-
parse
public static DateTime parse(java.lang.String str, DateTimeFormatter formatter)
Parses aDateTime
from the specified string using a formatter.- Parameters:
str
- the string to parse, not nullformatter
- the formatter to use, not null- Since:
- 2.0
-
toDateTime
public DateTime toDateTime()
Get this object as a DateTime by returningthis
.- Specified by:
toDateTime
in interfaceReadableDateTime
- Overrides:
toDateTime
in classAbstractInstant
- Returns:
this
-
toDateTimeISO
public DateTime toDateTimeISO()
Get this object as a DateTime using ISOChronology in the default zone, returningthis
if possible.- Overrides:
toDateTimeISO
in classAbstractInstant
- Returns:
- a DateTime using the same millis
-
toDateTime
public DateTime toDateTime(DateTimeZone zone)
Get this object as a DateTime, returningthis
if possible.- Overrides:
toDateTime
in classAbstractInstant
- Parameters:
zone
- time zone to apply, or default if null- Returns:
- a DateTime using the same millis
-
toDateTime
public DateTime toDateTime(Chronology chronology)
Get this object as a DateTime, returningthis
if possible.- Overrides:
toDateTime
in classAbstractInstant
- Parameters:
chronology
- chronology to apply, or ISOChronology if null- Returns:
- a DateTime using the same millis
-
withMillis
public DateTime withMillis(long newMillis)
Returns a copy of this datetime with different millis.The returned object will be either be a new instance or
this
. Only the millis will change, the chronology and time zone are kept.- Parameters:
newMillis
- the new millis, from 1970-01-01T00:00:00Z- Returns:
- a copy of this datetime with different millis
-
withChronology
public DateTime withChronology(Chronology newChronology)
Returns a copy of this datetime with a different chronology.The returned object will be either be a new instance or
this
. Only the chronology will change, the millis are kept.- Parameters:
newChronology
- the new chronology, null means ISO default- Returns:
- a copy of this datetime with a different chronology
-
withZone
public DateTime withZone(DateTimeZone newZone)
Returns a copy of this datetime with a different time zone, preserving the millisecond instant.This method is useful for finding the local time in another timezone. For example, if this instant holds 12:30 in Europe/London, the result from this method with Europe/Paris would be 13:30.
The returned object will be a new instance of the same implementation type. This method changes the time zone, and does not change the millisecond instant, with the effect that the field values usually change. The returned object will be either be a new instance or
this
.- Parameters:
newZone
- the new time zone- Returns:
- a copy of this datetime with a different time zone
- See Also:
withZoneRetainFields(org.joda.time.DateTimeZone)
-
withZoneRetainFields
public DateTime withZoneRetainFields(DateTimeZone newZone)
Returns a copy of this datetime with a different time zone, preserving the field values.This method is useful for finding the millisecond time in another timezone. For example, if this instant holds 12:30 in Europe/London (ie. 12:30Z), the result from this method with Europe/Paris would be 12:30 (ie. 11:30Z).
The returned object will be a new instance of the same implementation type. This method changes the time zone and the millisecond instant to keep the field values the same. The returned object will be either be a new instance or
this
.- Parameters:
newZone
- the new time zone, null means default- Returns:
- a copy of this datetime with a different time zone
- See Also:
withZone(org.joda.time.DateTimeZone)
-
withEarlierOffsetAtOverlap
public DateTime withEarlierOffsetAtOverlap()
Returns a copy of this ZonedDateTime changing the zone offset to the earlier of the two valid offsets at a local time-line overlap.This method only has any effect when the local time-line overlaps, such as at an autumn daylight savings cutover. In this scenario, there are two valid offsets for the local date-time. Calling this method will return a date-time with the earlier of the two selected.
If this method is called when it is not an overlap, this is returned.
This instance is immutable and unaffected by this method call.
- Returns:
- a copy of this datetime with the earliest valid offset for the local datetime
-
withLaterOffsetAtOverlap
public DateTime withLaterOffsetAtOverlap()
Returns a copy of this ZonedDateTime changing the zone offset to the later of the two valid offsets at a local time-line overlap.This method only has any effect when the local time-line overlaps, such as at an autumn daylight savings cutover. In this scenario, there are two valid offsets for the local date-time. Calling this method will return a date-time with the later of the two selected.
If this method is called when it is not an overlap, this is returned.
This instance is immutable and unaffected by this method call.
- Returns:
- a copy of this datetime with the latest valid offset for the local datetime
-
withDate
public DateTime withDate(int year, int monthOfYear, int dayOfMonth)
Returns a copy of this datetime with the specified date, retaining the time fields.If the date is already the date passed in, then
this
is returned.To set a single field use the properties, for example:
DateTime set = monthOfYear().setCopy(6);
If the time is invalid on the new date due to the time-zone, the time will be adjusted.
This instance is immutable and unaffected by this method call.
- Parameters:
year
- the new year valuemonthOfYear
- the new monthOfYear valuedayOfMonth
- the new dayOfMonth value- Returns:
- a copy of this datetime with a different date
- Throws:
java.lang.IllegalArgumentException
- if any value if invalid
-
withDate
public DateTime withDate(LocalDate date)
Returns a copy of this datetime with the specified date, retaining the time fields.If the time is invalid on the new date due to the time-zone, the time will be adjusted.
This instance is immutable and unaffected by this method call.
- Parameters:
date
- the local date- Returns:
- a copy of this datetime with a different date
- Throws:
java.lang.IllegalArgumentException
- if the time-of-day is invalid for the datejava.lang.NullPointerException
- if the date is null
-
withTime
public DateTime withTime(int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)
Returns a copy of this datetime with the specified time, retaining the date fields.If the time is already the time passed in, then
this
is returned.To set a single field use the properties, for example:
DateTime set = dt.hourOfDay().setCopy(6);
If the new time is invalid due to the time-zone, the time will be adjusted.
This instance is immutable and unaffected by this method call.
- Parameters:
hourOfDay
- the hour of the dayminuteOfHour
- the minute of the hoursecondOfMinute
- the second of the minutemillisOfSecond
- the millisecond of the second- Returns:
- a copy of this datetime with a different time
- Throws:
java.lang.IllegalArgumentException
- if any value if invalid
-
withTime
public DateTime withTime(LocalTime time)
Returns a copy of this datetime with the specified time, retaining the date fields.If the new time is invalid due to the time-zone, the time will be adjusted.
This instance is immutable and unaffected by this method call.
- Parameters:
time
- the local time- Returns:
- a copy of this datetime with a different time
- Throws:
java.lang.IllegalArgumentException
- if the time-of-day is invalid for the datejava.lang.NullPointerException
- if the time is null
-
withTimeAtStartOfDay
public DateTime withTimeAtStartOfDay()
Returns a copy of this datetime with the time set to the start of the day.The time will normally be midnight, as that is the earliest time on any given day. However, in some time zones when Daylight Savings Time starts, there is no midnight because time jumps from 11:59 to 01:00. This method handles that situation by returning 01:00 on that date.
This instance is immutable and unaffected by this method call.
- Returns:
- a copy of this datetime with the time set to the start of the day, not null
-
withFields
public DateTime withFields(ReadablePartial partial)
Returns a copy of this datetime with the partial set of fields replacing those from this instance.For example, if the partial is a
TimeOfDay
then the time fields would be changed in the returned instance. If the partial is null, thenthis
is returned.- Parameters:
partial
- the partial set of fields to apply to this datetime, null ignored- Returns:
- a copy of this datetime with a different set of fields
- Throws:
java.lang.IllegalArgumentException
- if any value is invalid
-
withField
public DateTime withField(DateTimeFieldType fieldType, int value)
Returns a copy of this datetime with the specified field set to a new value.For example, if the field type is
hourOfDay
then the hour of day field would be changed in the returned instance. If the field type is null, thenthis
is returned.These three lines are equivalent:
DateTime updated = dt.withField(DateTimeFieldType.dayOfMonth(), 6); DateTime updated = dt.dayOfMonth().setCopy(6); DateTime updated = dt.property(DateTimeFieldType.dayOfMonth()).setCopy(6);
- Parameters:
fieldType
- the field type to set, not nullvalue
- the value to set- Returns:
- a copy of this datetime with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is null or invalid
-
withFieldAdded
public DateTime withFieldAdded(DurationFieldType fieldType, int amount)
Returns a copy of this datetime with the value of the specified field increased.If the addition is zero or the field is null, then
this
is returned.These three lines are equivalent:
DateTime added = dt.withFieldAdded(DurationFieldType.years(), 6); DateTime added = dt.plusYears(6); DateTime added = dt.plus(Period.years(6));
- Parameters:
fieldType
- the field type to add to, not nullamount
- the amount to add- Returns:
- a copy of this datetime with the field updated
- Throws:
java.lang.IllegalArgumentException
- if the value is null or invalidjava.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
withDurationAdded
public DateTime withDurationAdded(long durationToAdd, int scalar)
Returns a copy of this datetime with the specified duration added.If the addition is zero, then
this
is returned.- Parameters:
durationToAdd
- the duration to add to this onescalar
- the amount of times to add, such as -1 to subtract once- Returns:
- a copy of this datetime with the duration added
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
withDurationAdded
public DateTime withDurationAdded(ReadableDuration durationToAdd, int scalar)
Returns a copy of this datetime with the specified duration added.If the addition is zero, then
this
is returned.- Parameters:
durationToAdd
- the duration to add to this one, null means zeroscalar
- the amount of times to add, such as -1 to subtract once- Returns:
- a copy of this datetime with the duration added
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
withPeriodAdded
public DateTime withPeriodAdded(ReadablePeriod period, int scalar)
Returns a copy of this datetime with the specified period added.If the addition is zero, then
this
is returned.This method is typically used to add multiple copies of complex period instances. Adding one field is best achieved using methods like
withFieldAdded(DurationFieldType, int)
orplusYears(int)
.- Parameters:
period
- the period to add to this one, null means zeroscalar
- the amount of times to add, such as -1 to subtract once- Returns:
- a copy of this datetime with the period added
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
plus
public DateTime plus(long duration)
Returns a copy of this datetime with the specified duration added.If the amount is zero or null, then
this
is returned. This datetime instance is immutable and unaffected by this method call.- Parameters:
duration
- the duration, in millis, to add to this one- Returns:
- a copy of this datetime with the duration added
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
plus
public DateTime plus(ReadableDuration duration)
Returns a copy of this datetime with the specified duration added.If the amount is zero or null, then
this
is returned. This datetime instance is immutable and unaffected by this method call.- Parameters:
duration
- the duration to add to this one, null means zero- Returns:
- a copy of this datetime with the duration added
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
plus
public DateTime plus(ReadablePeriod period)
Returns a copy of this datetime with the specified period added.This method will add each element of the period one by one, from largest to smallest, adjusting the datetime to be accurate between each.
Thus, adding a period of one month and one day to 2007-03-31 will work as follows: First add one month and adjust, resulting in 2007-04-30 Then add one day and adjust, resulting in 2007-05-01.
This method is typically used to add complex period instances. Adding one field is best achieved using methods like
plusYears(int)
.If the amount is zero or null, then
this
is returned. This datetime instance is immutable and unaffected by this method call.- Parameters:
period
- the duration to add to this one, null means zero- Returns:
- a copy of this datetime with the period added
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
plusYears
public DateTime plusYears(int years)
Returns a copy of this datetime plus the specified number of years.The calculation will do its best to only change the year field retaining the same month of year. However, in certain circumstances, it may be necessary to alter smaller fields. For example, 2008-02-29 plus one year cannot result in 2009-02-29, so the day of month is adjusted to 2009-02-28.
The following three lines are identical in effect:
DateTime added = dt.plusYears(6); DateTime added = dt.plus(Period.years(6)); DateTime added = dt.withFieldAdded(DurationFieldType.years(), 6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
years
- the amount of years to add, may be negative- Returns:
- the new datetime plus the increased years
- Since:
- 1.1
-
plusMonths
public DateTime plusMonths(int months)
Returns a copy of this datetime plus the specified number of months.The calculation will do its best to only change the month field retaining the same day of month. However, in certain circumstances, it may be necessary to alter smaller fields. For example, 2007-03-31 plus one month cannot result in 2007-04-31, so the day of month is adjusted to 2007-04-30.
The following three lines are identical in effect:
DateTime added = dt.plusMonths(6); DateTime added = dt.plus(Period.months(6)); DateTime added = dt.withFieldAdded(DurationFieldType.months(), 6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
months
- the amount of months to add, may be negative- Returns:
- the new datetime plus the increased months
- Since:
- 1.1
-
plusWeeks
public DateTime plusWeeks(int weeks)
Returns a copy of this datetime plus the specified number of weeks.The calculation operates as if it were adding the equivalent in days.
The following three lines are identical in effect:
DateTime added = dt.plusWeeks(6); DateTime added = dt.plus(Period.weeks(6)); DateTime added = dt.withFieldAdded(DurationFieldType.weeks(), 6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
weeks
- the amount of weeks to add, may be negative- Returns:
- the new datetime plus the increased weeks
- Since:
- 1.1
-
plusDays
public DateTime plusDays(int days)
Returns a copy of this datetime plus the specified number of days.The calculation will do its best to only change the day field retaining the same time of day. However, in certain circumstances, typically daylight savings cutover, it may be necessary to alter the time fields.
In spring an hour is typically removed. If adding one day results in the time being within the cutover then the time is adjusted to be within summer time. For example, if the cutover is from 01:59 to 03:00 and the result of this method would have been 02:30, then the result will be adjusted to 03:30.
The following three lines are identical in effect:
DateTime added = dt.plusDays(6); DateTime added = dt.plus(Period.days(6)); DateTime added = dt.withFieldAdded(DurationFieldType.days(), 6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
days
- the amount of days to add, may be negative- Returns:
- the new datetime plus the increased days
- Since:
- 1.1
-
plusHours
public DateTime plusHours(int hours)
Returns a copy of this datetime plus the specified number of hours.The calculation will add a duration equivalent to the number of hours expressed in milliseconds.
For example, if a spring daylight savings cutover is from 01:59 to 03:00 then adding one hour to 01:30 will result in 03:30. This is a duration of one hour later, even though the hour field value changed from 1 to 3.
The following three lines are identical in effect:
DateTime added = dt.plusHours(6); DateTime added = dt.plus(Period.hours(6)); DateTime added = dt.withFieldAdded(DurationFieldType.hours(), 6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
hours
- the amount of hours to add, may be negative- Returns:
- the new datetime plus the increased hours
- Since:
- 1.1
-
plusMinutes
public DateTime plusMinutes(int minutes)
Returns a copy of this datetime plus the specified number of minutes.The calculation will add a duration equivalent to the number of minutes expressed in milliseconds.
The following three lines are identical in effect:
DateTime added = dt.plusMinutes(6); DateTime added = dt.plus(Period.minutes(6)); DateTime added = dt.withFieldAdded(DurationFieldType.minutes(), 6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
minutes
- the amount of minutes to add, may be negative- Returns:
- the new datetime plus the increased minutes
- Since:
- 1.1
-
plusSeconds
public DateTime plusSeconds(int seconds)
Returns a copy of this datetime plus the specified number of seconds.The calculation will add a duration equivalent to the number of seconds expressed in milliseconds.
The following three lines are identical in effect:
DateTime added = dt.plusSeconds(6); DateTime added = dt.plus(Period.seconds(6)); DateTime added = dt.withFieldAdded(DurationFieldType.seconds(), 6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
seconds
- the amount of seconds to add, may be negative- Returns:
- the new datetime plus the increased seconds
- Since:
- 1.1
-
plusMillis
public DateTime plusMillis(int millis)
Returns a copy of this datetime plus the specified number of millis.The calculation will add a duration equivalent to the number of milliseconds.
The following three lines are identical in effect:
DateTime added = dt.plusMillis(6); DateTime added = dt.plus(Period.millis(6)); DateTime added = dt.withFieldAdded(DurationFieldType.millis(), 6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
millis
- the amount of millis to add, may be negative- Returns:
- the new datetime plus the increased millis
- Since:
- 1.1
-
minus
public DateTime minus(long duration)
Returns a copy of this datetime with the specified duration taken away.If the amount is zero or null, then
this
is returned. This datetime instance is immutable and unaffected by this method call.- Parameters:
duration
- the duration, in millis, to reduce this instant by- Returns:
- a copy of this datetime with the duration taken away
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
minus
public DateTime minus(ReadableDuration duration)
Returns a copy of this datetime with the specified duration taken away.If the amount is zero or null, then
this
is returned. This datetime instance is immutable and unaffected by this method call.- Parameters:
duration
- the duration to reduce this instant by- Returns:
- a copy of this datetime with the duration taken away
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
minus
public DateTime minus(ReadablePeriod period)
Returns a copy of this datetime with the specified period taken away.This method will subtract each element of the period one by one, from largest to smallest, adjusting the datetime to be accurate between each.
Thus, subtracting a period of one month and one day from 2007-05-31 will work as follows: First subtract one month and adjust, resulting in 2007-04-30 Then subtract one day and adjust, resulting in 2007-04-29. Note that the day has been adjusted by two.
This method is typically used to subtract complex period instances. Subtracting one field is best achieved using methods like
minusYears(int)
.If the amount is zero or null, then
this
is returned. This datetime instance is immutable and unaffected by this method call.- Parameters:
period
- the period to reduce this instant by- Returns:
- a copy of this datetime with the period taken away
- Throws:
java.lang.ArithmeticException
- if the new datetime exceeds the capacity of a long
-
minusYears
public DateTime minusYears(int years)
Returns a copy of this datetime minus the specified number of years.The calculation will do its best to only change the year field retaining the same month of year. However, in certain circumstances, it may be necessary to alter smaller fields. For example, 2008-02-29 minus one year cannot result in 2007-02-29, so the day of month is adjusted to 2007-02-28.
The following three lines are identical in effect:
DateTime subtracted = dt.minusYears(6); DateTime subtracted = dt.minus(Period.years(6)); DateTime subtracted = dt.withFieldAdded(DurationFieldType.years(), -6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
years
- the amount of years to subtract, may be negative- Returns:
- the new datetime minus the increased years
- Since:
- 1.1
-
minusMonths
public DateTime minusMonths(int months)
Returns a copy of this datetime minus the specified number of months.The calculation will do its best to only change the month field retaining the same day of month. However, in certain circumstances, it may be necessary to alter smaller fields. For example, 2007-05-31 minus one month cannot result in 2007-04-31, so the day of month is adjusted to 2007-04-30.
The following three lines are identical in effect:
DateTime subtracted = dt.minusMonths(6); DateTime subtracted = dt.minus(Period.months(6)); DateTime subtracted = dt.withFieldAdded(DurationFieldType.months(), -6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
months
- the amount of months to subtract, may be negative- Returns:
- the new datetime minus the increased months
- Since:
- 1.1
-
minusWeeks
public DateTime minusWeeks(int weeks)
Returns a copy of this datetime minus the specified number of weeks.The calculation operates as if it were subtracting the equivalent in days.
The following three lines are identical in effect:
DateTime subtracted = dt.minusWeeks(6); DateTime subtracted = dt.minus(Period.weeks(6)); DateTime subtracted = dt.withFieldAdded(DurationFieldType.weeks(), -6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
weeks
- the amount of weeks to subtract, may be negative- Returns:
- the new datetime minus the increased weeks
- Since:
- 1.1
-
minusDays
public DateTime minusDays(int days)
Returns a copy of this datetime minus the specified number of days.The calculation will do its best to only change the day field retaining the same time of day. However, in certain circumstances, typically daylight savings cutover, it may be necessary to alter the time fields.
In spring an hour is typically removed. If subtracting one day results in the time being within the cutover then the time is adjusted to be within summer time. For example, if the cutover is from 01:59 to 03:00 and the result of this method would have been 02:30, then the result will be adjusted to 03:30.
The following three lines are identical in effect:
DateTime subtracted = dt.minusDays(6); DateTime subtracted = dt.minus(Period.days(6)); DateTime subtracted = dt.withFieldAdded(DurationFieldType.days(), -6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
days
- the amount of days to subtract, may be negative- Returns:
- the new datetime minus the increased days
- Since:
- 1.1
-
minusHours
public DateTime minusHours(int hours)
Returns a copy of this datetime minus the specified number of hours.The calculation will subtract a duration equivalent to the number of hours expressed in milliseconds.
For example, if a spring daylight savings cutover is from 01:59 to 03:00 then subtracting one hour from 03:30 will result in 01:30. This is a duration of one hour earlier, even though the hour field value changed from 3 to 1.
The following three lines are identical in effect:
DateTime subtracted = dt.minusHours(6); DateTime subtracted = dt.minus(Period.hours(6)); DateTime subtracted = dt.withFieldAdded(DurationFieldType.hours(), -6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
hours
- the amount of hours to subtract, may be negative- Returns:
- the new datetime minus the increased hours
- Since:
- 1.1
-
minusMinutes
public DateTime minusMinutes(int minutes)
Returns a copy of this datetime minus the specified number of minutes.The calculation will subtract a duration equivalent to the number of minutes expressed in milliseconds.
The following three lines are identical in effect:
DateTime subtracted = dt.minusMinutes(6); DateTime subtracted = dt.minus(Period.minutes(6)); DateTime subtracted = dt.withFieldAdded(DurationFieldType.minutes(), -6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
minutes
- the amount of minutes to subtract, may be negative- Returns:
- the new datetime minus the increased minutes
- Since:
- 1.1
-
minusSeconds
public DateTime minusSeconds(int seconds)
Returns a copy of this datetime minus the specified number of seconds.The calculation will subtract a duration equivalent to the number of seconds expressed in milliseconds.
The following three lines are identical in effect:
DateTime subtracted = dt.minusSeconds(6); DateTime subtracted = dt.minus(Period.seconds(6)); DateTime subtracted = dt.withFieldAdded(DurationFieldType.seconds(), -6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
seconds
- the amount of seconds to subtract, may be negative- Returns:
- the new datetime minus the increased seconds
- Since:
- 1.1
-
minusMillis
public DateTime minusMillis(int millis)
Returns a copy of this datetime minus the specified number of millis.The calculation will subtract a duration equivalent to the number of milliseconds.
The following three lines are identical in effect:
DateTime subtracted = dt.minusMillis(6); DateTime subtracted = dt.minus(Period.millis(6)); DateTime subtracted = dt.withFieldAdded(DurationFieldType.millis(), -6);
This datetime instance is immutable and unaffected by this method call.
- Parameters:
millis
- the amount of millis to subtract, may be negative- Returns:
- the new datetime minus the increased millis
- Since:
- 1.1
-
property
public DateTime.Property property(DateTimeFieldType type)
Gets the property object for the specified type, which contains many useful methods.- Parameters:
type
- the field type to get the chronology for- Returns:
- the property object
- Throws:
java.lang.IllegalArgumentException
- if the field is null or unsupported
-
toDateMidnight
@Deprecated public DateMidnight toDateMidnight()
Deprecated.DateMidnight is deprecatedConverts this object to aDateMidnight
using the same millis and chronology.- Returns:
- a DateMidnight using the same millis and chronology
-
toYearMonthDay
@Deprecated public YearMonthDay toYearMonthDay()
Deprecated.Use LocalDate instead of YearMonthDayConverts this object to aYearMonthDay
using the same millis and chronology.- Returns:
- a YearMonthDay using the same millis and chronology
-
toTimeOfDay
@Deprecated public TimeOfDay toTimeOfDay()
Deprecated.Use LocalTime instead of TimeOfDayConverts this object to aTimeOfDay
using the same millis and chronology.- Returns:
- a TimeOfDay using the same millis and chronology
-
toLocalDateTime
public LocalDateTime toLocalDateTime()
Converts this object to aLocalDateTime
with the same datetime and chronology.- Returns:
- a LocalDateTime with the same datetime and chronology
- Since:
- 1.3
-
toLocalDate
public LocalDate toLocalDate()
Converts this object to aLocalDate
with the same date and chronology.- Returns:
- a LocalDate with the same date and chronology
- Since:
- 1.3
-
toLocalTime
public LocalTime toLocalTime()
Converts this object to aLocalTime
with the same time and chronology.- Returns:
- a LocalTime with the same time and chronology
- Since:
- 1.3
-
withEra
public DateTime withEra(int era)
Returns a copy of this datetime with the era field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of era changed.
- Parameters:
era
- the era to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withCenturyOfEra
public DateTime withCenturyOfEra(int centuryOfEra)
Returns a copy of this datetime with the century of era field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of century of era changed.
- Parameters:
centuryOfEra
- the century of era to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withYearOfEra
public DateTime withYearOfEra(int yearOfEra)
Returns a copy of this datetime with the year of era field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of year of era changed.
- Parameters:
yearOfEra
- the year of era to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withYearOfCentury
public DateTime withYearOfCentury(int yearOfCentury)
Returns a copy of this datetime with the year of century field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of year of century changed.
- Parameters:
yearOfCentury
- the year of century to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withYear
public DateTime withYear(int year)
Returns a copy of this datetime with the year field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of year changed.
- Parameters:
year
- the year to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withWeekyear
public DateTime withWeekyear(int weekyear)
Returns a copy of this datetime with the weekyear field updated.The weekyear is the year that matches with the weekOfWeekyear field. In the standard ISO8601 week algorithm, the first week of the year is that in which at least 4 days are in the year. As a result of this definition, day 1 of the first week may be in the previous year. The weekyear allows you to query the effective year for that day.
DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of weekyear changed.
- Parameters:
weekyear
- the weekyear to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withMonthOfYear
public DateTime withMonthOfYear(int monthOfYear)
Returns a copy of this datetime with the month of year field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of month of year changed.
- Parameters:
monthOfYear
- the month of year to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withWeekOfWeekyear
public DateTime withWeekOfWeekyear(int weekOfWeekyear)
Returns a copy of this datetime with the week of weekyear field updated.This field is associated with the "weekyear" via
withWeekyear(int)
. In the standard ISO8601 week algorithm, the first week of the year is that in which at least 4 days are in the year. As a result of this definition, day 1 of the first week may be in the previous year.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of week of weekyear changed.
- Parameters:
weekOfWeekyear
- the week of weekyear to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withDayOfYear
public DateTime withDayOfYear(int dayOfYear)
Returns a copy of this datetime with the day of year field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of day of year changed.
- Parameters:
dayOfYear
- the day of year to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withDayOfMonth
public DateTime withDayOfMonth(int dayOfMonth)
Returns a copy of this datetime with the day of month field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of day of month changed.
- Parameters:
dayOfMonth
- the day of month to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withDayOfWeek
public DateTime withDayOfWeek(int dayOfWeek)
Returns a copy of this datetime with the day of week field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of day of week changed.
- Parameters:
dayOfWeek
- the day of week to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withHourOfDay
public DateTime withHourOfDay(int hour)
Returns a copy of this datetime with the hour of day field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of hour of day changed.
- Parameters:
hour
- the hour of day to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withMinuteOfHour
public DateTime withMinuteOfHour(int minute)
Returns a copy of this datetime with the minute of hour updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of minute of hour changed.
- Parameters:
minute
- the minute of hour to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withSecondOfMinute
public DateTime withSecondOfMinute(int second)
Returns a copy of this datetime with the second of minute field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of second of minute changed.
- Parameters:
second
- the second of minute to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withMillisOfSecond
public DateTime withMillisOfSecond(int millis)
Returns a copy of this datetime with the millis of second field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of millis of second changed.
- Parameters:
millis
- the millis of second to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
withMillisOfDay
public DateTime withMillisOfDay(int millis)
Returns a copy of this datetime with the millis of day field updated.DateTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of millis of day changed.
- Parameters:
millis
- the millis of day to set- Returns:
- a copy of this object with the field set
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid- Since:
- 1.3
-
era
public DateTime.Property era()
Get the era property which provides access to advanced functionality.- Returns:
- the era property
-
centuryOfEra
public DateTime.Property centuryOfEra()
Get the century of era property which provides access to advanced functionality.- Returns:
- the year of era property
-
yearOfCentury
public DateTime.Property yearOfCentury()
Get the year of century property which provides access to advanced functionality.- Returns:
- the year of era property
-
yearOfEra
public DateTime.Property yearOfEra()
Get the year of era property which provides access to advanced functionality.- Returns:
- the year of era property
-
year
public DateTime.Property year()
Get the year property which provides access to advanced functionality.- Returns:
- the year property
-
weekyear
public DateTime.Property weekyear()
Get the year of a week based year property which provides access to advanced functionality.- Returns:
- the year of a week based year property
-
monthOfYear
public DateTime.Property monthOfYear()
Get the month of year property which provides access to advanced functionality.- Returns:
- the month of year property
-
weekOfWeekyear
public DateTime.Property weekOfWeekyear()
Get the week of a week based year property which provides access to advanced functionality.- Returns:
- the week of a week based year property
-
dayOfYear
public DateTime.Property dayOfYear()
Get the day of year property which provides access to advanced functionality.- Returns:
- the day of year property
-
dayOfMonth
public DateTime.Property dayOfMonth()
Get the day of month property which provides access to advanced functionality.- Returns:
- the day of month property
-
dayOfWeek
public DateTime.Property dayOfWeek()
Get the day of week property which provides access to advanced functionality.- Returns:
- the day of week property
-
hourOfDay
public DateTime.Property hourOfDay()
Get the hour of day field property which provides access to advanced functionality.- Returns:
- the hour of day property
-
minuteOfDay
public DateTime.Property minuteOfDay()
Get the minute of day property which provides access to advanced functionality.- Returns:
- the minute of day property
-
minuteOfHour
public DateTime.Property minuteOfHour()
Get the minute of hour field property which provides access to advanced functionality.- Returns:
- the minute of hour property
-
secondOfDay
public DateTime.Property secondOfDay()
Get the second of day property which provides access to advanced functionality.- Returns:
- the second of day property
-
secondOfMinute
public DateTime.Property secondOfMinute()
Get the second of minute field property which provides access to advanced functionality.- Returns:
- the second of minute property
-
millisOfDay
public DateTime.Property millisOfDay()
Get the millis of day property which provides access to advanced functionality.- Returns:
- the millis of day property
-
millisOfSecond
public DateTime.Property millisOfSecond()
Get the millis of second property which provides access to advanced functionality.- Returns:
- the millis of second property
-
-