Date


super: Object

Date objects encapsulate a single point in time, independent of any particular calendrical system or time zone. The Date class provides methods for comparing dates, calculating the time interval between two dates, and creating a new date from a time interval relative to another date.

Events

  • Load() This event is called when the object becames available in the current runtime system.

  • Unload() This event is called when the object has been removed from the current runtime system (but not yet deallocated).

Properties

  • var timeIntervalSinceNow: Float The interval between the date object and the current date and time. (read-only)

  • var timeIntervalSince1970: Float The interval between the date object and 00:00:00 UTC on 1 January 1970. (read-only)

  • var era: Int Extract era from the date. (read-only)

  • var year: Int Extract year from the date. (read-only)

  • var month: Int Extract month from the date. (read-only)

  • var day: Int Extract day from the date. (read-only)

  • var hour: Int Extract hour from the date. (read-only)

  • var minute: Int Extract minute from the date. (read-only)

  • var second: Int Extract second from the date. (read-only)

  • var nanosecond: Int Extract nanosecond from the date. (read-only)

  • var weekday: Int Extract weekday from the date. The weekday units are the numbers 1 through N (where for the Gregorian calendar N=7 and 1 is Sunday). (read-only)

  • var weekdayOrdinal: Int The weekday ordinal unit describes ordinal position within the month unit of the corresponding weekday unit. For example, in the Gregorian calendar a weekday ordinal unit of 2 for a weekday unit 3 indicates "the second Tuesday in the month". (read-only)

  • var quarter: Int Extract quarter from the date. (read-only)

  • var weekOfMonth: Int Extract the original week of a month calendar unit. (read-only)

  • var weekOfYear: Int Extract the original week of the year calendar unit. (read-only)

  • var yearForWeekOfYear: Int Extract the ISO Week Date from the date. (read-only)

  • var objectName: String The name of the object.

Class Methods

  • func dateWithTimeIntervalSince1970(timeInterval: Float): Date Creates and returns a Date object set to a given number of seconds from 00:00:00 UTC on 1 January 1970.

  • func dateWithTimeIntervalSinceReferenceDate(timeInterval: Float): Date Creates and returns a Date object set to a given number of seconds from 00:00:00 UTC on 1 January 2001.

  • func knownTimeZoneNames(): List Returns an array of strings listing the names of all the time zones known to the system.

  • func tomorrow(): Date Creates and returns a Date object set to tomorrow.

  • func yesterday(): Date Creates and returns a Date object set to yesterday.

  • func dateWithDaysFromNow(reference: Int): Date Creates and returns a Date object set by adding reference days to the current date and time.

  • func dateWithDaysBeforeNow(reference: Int): Date Creates and returns a Date object set by subtracting reference days to the current date and time.

  • func dateWithHoursFromNow(reference: Int): Date Creates and returns a Date object set by adding reference hours to the current date and time.

  • func dateWithHoursBeforeNow(reference: Int): Date Creates and returns a Date object set by subtracting reference hours to the current date and time.

  • func dateWithMinutesFromNow(reference: Int): Date Creates and returns a Date object set by adding reference minutes to the current date and time.

  • func dateWithMinutesBeforeNow(reference: Int): Date Creates and returns a Date object set by subtracting reference minutes to the current date and time.

  • func daysBetweenDates(fromDate: Date, toDate: Date): Int Returns the number of days between fromDate and toDate.

  • func componentsBetweenDates(fromDate: Date, toDate: Date): Map Returns the components maps between fromDate and toDate. The result map object will contain the following properties: year, month, day, hour, minute and second.

Constructors

  • func Date(timeInterval: Float) Returns a Date object relative to the current date and time by a given number of seconds.

  • func Date(timeInterval: Float, date: Date) Returns a Date object relative to another given date by a given number of seconds.

  • func Date(string: String, format: String, timeZone: String) Returns a Date object converted from a textual representations of dates and times.

Methods

  • func isEqualToDate(refDate: Date): Bool Returns a Boolean value that indicates whether a given Date object is exactly equal to a reference date.

  • func diff(refDate: Date): Float Returns the interval between the receiver and the reference Date parameter. If the receiver is earlier than reference Date, the return value is negative.

  • func isEqualToDateIgnoringTime(refDate: Date): Bool Returns a Boolean value that indicates whether a given Date object is equal to a reference Date ignoring the time value.

  • func isToday(): Bool Returns a Boolean value that indicates whether a given Date is set to today.

  • func isTomorrow(): Bool Returns a Boolean value that indicates whether a given Date is set to tomorrow.

  • func isYesterday(): Bool Returns a Boolean value that indicates whether a given Date is set to yesterday.

  • func isSameWeekAsDate(refDate: Date): Bool Returns a Boolean value that indicates whether a given Date object has the same week as a reference Date.

  • func isThisWeek(): Bool Returns a Boolean value that indicates whether a given Date is set to current week.

  • func isNextWeek(): Bool Returns a Boolean value that indicates whether a given Date is set to next week.

  • func isLastWeek(): Bool Returns a Boolean value that indicates whether a given Date is set to last week.

  • func isSameMonthAsDate(refDate: Date): Bool Returns a Boolean value that indicates whether a given Date object has the same month than a reference Date.

  • func isThisMonth(): Bool Returns a Boolean value that indicates whether a given Date is set to current month.

  • func isNextMonth(): Bool Returns a Boolean value that indicates whether a given Date is set to next month.

  • func isLastMonth(): Bool Returns a Boolean value that indicates whether a given Date is set to last month.

  • func isSameYearAsDate(refDate: Date): Bool Returns a Boolean value that indicates whether a given Date object has the same year as a reference Date.

  • func isThisYear(): Bool Returns a Boolean value that indicates whether a given Date is set to current year.

  • func isNextYear(): Bool Returns a Boolean value that indicates whether a given Date is set to next year.

  • func isLastYear(): Bool Returns a Boolean value that indicates whether a given Date is set to last year.

  • func isEarlierThanDate(refDate: Date): Bool Returns a Boolean value that indicates whether a given Date object is earlier than a reference Date.

  • func isLaterThanDate(refDate: Date): Bool Returns a Boolean value that indicates whether a given Date object is later thana reference Date.

  • func isInFuture(): Bool Returns a Boolean value that indicates whether a given Date is set to sometime in the future.

  • func isInPast(): Bool Returns a Boolean value that indicates whether a given Date is set to sometime in the past.

  • func dateByAddingYears(reference: Int): Date Creates and returns a new Date object set by adding reference years to the current date.

  • func dateBySubtractingYears(reference: Int): Date Creates and returns a new Date object set by subtracting reference years to the current date.

  • func dateByAddingMonths(reference: Int): Date Creates and returns a new Date object set by adding reference months to the current date.

  • func dateBySubtractingMonths(reference: Int): Date Creates and returns a new Date object set by subtracting reference months to the current date.

  • func dateByAddingDays(reference: Int): Date Creates and returns a new Date object set by adding reference days to the current date.

  • func dateBySubtractingDays(reference: Int): Date Creates and returns a new Date object set by subtracting reference days to the current date.

  • func dateByAddingHours(reference: Int): Date Creates and returns a new Date object set by adding reference hours to the current date.

  • func dateBySubtractingHours(reference: Int): Date Creates and returns a new Date object set by subtracting reference hours to the current date.

  • func dateByAddingMinutes(reference: Int): Date Creates and returns a new Date object set by adding reference minutes to the current date.

  • func dateBySubtractingMinutes(reference: Int): Date Creates and returns a new Date object set by subtracting reference minutes to the current date.

  • func format(format: String, timeZone: String = null): String Returns a textual representations of the Date. Parameters: format is the date format string (use the Unicode Date Format Patterns, for example "yyyy-MM-dd HH:mm:ss"), timezone is the name (for example "America/Los_Angeles", see the knownTimeZoneNames class method for more infomation) or the abbreviation (for example "PDT") of the time zone to be used. If unspecified or invalid, the system time zone is used.

Examples

Allocate a Date object with the current date and time:

var d = Date();

Result:

2017-08-12 12:57:00 +0000

Allocate a Date object relative to the current date and time by a given number of seconds:

var d = Date(120);

Result: 2017-08-12 12:59:00 +0000

Convert a String to a Date object using a given format and timezone:

var s = "2017-08-12";
var d = Date(s, "yyyy-dd-MM", "PST");

Result: 2017-12-08 08:00:00 +0000

Convert a Date to a String using a given format and timezone:

var d = Date(); // d is 2018-07-06 06:58:26 +0000
var s = d.format("yyyy-MM-dd");

Result: "2018-07-06"

To specify a custom fixed format for a date string use the format patterns from the Unicode Technical Standard #35

The following timezone abbreviation strings can be used:

"ADT" | "America/Halifax"
"AKDT" | "America/Juneau"
"AKST" | "America/Juneau"
"ART" | "America/Argentina/Buenos_Aires"
"AST" | "America/Halifax"
"BDT" | "Asia/Dhaka"
"BRST" | "America/Sao_Paulo"
"BRT" | "America/Sao_Paulo"
"BST" | "Europe/London"
"CAT" | "Africa/Harare"
"CDT" | "America/Chicago"
"CEST" | "Europe/Paris"
"CET" | "Europe/Paris"
"CLST" | "America/Santiago"
"CLT" | "America/Santiago"
"COT" | "America/Bogota"
"CST" | "America/Chicago"
"EAT" | "Africa/Addis_Ababa"
"EDT" | "America/New_York"
"EEST" | "Europe/Istanbul"
"EET" | "Europe/Istanbul"
"EST" | "America/New_York"
"GMT" | "GMT"
"GST" | "Asia/Dubai"
"HKT" | "Asia/Hong_Kong"
"HST" | "Pacific/Honolulu"
"ICT" | "Asia/Bangkok"
"IRST" | "Asia/Tehran"
"IST" | "Asia/Calcutta"
"JST" | "Asia/Tokyo"
"KST" | "Asia/Seoul"
"MDT" | "America/Denver"
"MSD" | "Europe/Moscow"
"MSK" | "Europe/Moscow"
"MST" | "America/Denver"
"NZDT" | "Pacific/Auckland"
"NZST" | "Pacific/Auckland"
"PDT" | "America/Los_Angeles"
"PET" | "America/Lima"
"PHT" | "Asia/Manila"
"PKT" | "Asia/Karachi"
"PST" | "America/Los_Angeles"
"SGT" | "Asia/Singapore"
"UTC" | "UTC"
"WAT" | "Africa/Lagos"
"WEST" | "Europe/Lisbon"
"WET" | "Europe/Lisbon"
"WIT" | "Asia/Jakarta"

Alternatively a timezone name can be used:

"Africa/Abidjan"
"Africa/Accra"
"Africa/Addis_Ababa"
"Africa/Algiers"
"Africa/Asmara"
"Africa/Bamako"
"Africa/Bangui"
"Africa/Banjul"
"Africa/Bissau"
"Africa/Blantyre"
"Africa/Brazzaville"
"Africa/Bujumbura"
"Africa/Cairo"
"Africa/Casablanca"
"Africa/Ceuta"
"Africa/Conakry"
"Africa/Dakar"
"Africa/Dar_es_Salaam"
"Africa/Djibouti"
"Africa/Douala"
"Africa/El_Aaiun"
"Africa/Freetown"
"Africa/Gaborone"
"Africa/Harare"
"Africa/Johannesburg"
"Africa/Juba"
"Africa/Kampala"
"Africa/Khartoum"
"Africa/Kigali"
"Africa/Kinshasa"
"Africa/Lagos"
"Africa/Libreville"
"Africa/Lome"
"Africa/Luanda"
"Africa/Lubumbashi"
"Africa/Lusaka"
"Africa/Malabo"
"Africa/Maputo"
"Africa/Maseru"
"Africa/Mbabane"
"Africa/Mogadishu"
"Africa/Monrovia"
"Africa/Nairobi"
"Africa/Ndjamena"
"Africa/Niamey"
"Africa/Nouakchott"
"Africa/Ouagadougou"
"Africa/Porto-Novo"
"Africa/Sao_Tome"
"Africa/Tripoli"
"Africa/Tunis"
"Africa/Windhoek"
"America/Adak"
"America/Anchorage"
"America/Anguilla"
"America/Antigua"
"America/Araguaina"
"America/Argentina/Buenos_Aires"
"America/Argentina/Catamarca"
"America/Argentina/Cordoba"
"America/Argentina/Jujuy"
"America/Argentina/La_Rioja"
"America/Argentina/Mendoza"
"America/Argentina/Rio_Gallegos"
"America/Argentina/Salta"
"America/Argentina/San_Juan"
"America/Argentina/San_Luis"
"America/Argentina/Tucuman"
"America/Argentina/Ushuaia"
"America/Aruba"
"America/Asuncion"
"America/Atikokan"
"America/Bahia"
"America/Bahia_Banderas"
"America/Barbados"
"America/Belem"
"America/Belize"
"America/Blanc-Sablon"
"America/Boa_Vista"
"America/Bogota"
"America/Boise"
"America/Cambridge_Bay"
"America/Campo_Grande"
"America/Cancun"
"America/Caracas"
"America/Cayenne"
"America/Cayman"
"America/Chicago"
"America/Chihuahua"
"America/Costa_Rica"
"America/Creston"
"America/Cuiaba"
"America/Curacao"
"America/Danmarkshavn"
"America/Dawson"
"America/Dawson_Creek"
"America/Denver"
"America/Detroit"
"America/Dominica"
"America/Edmonton"
"America/Eirunepe"
"America/El_Salvador"
"America/Fort_Nelson"
"America/Fortaleza"
"America/Glace_Bay"
"America/Godthab"
"America/Goose_Bay"
"America/Grand_Turk"
"America/Grenada"
"America/Guadeloupe"
"America/Guatemala"
"America/Guayaquil"
"America/Guyana"
"America/Halifax"
"America/Havana"
"America/Hermosillo"
"America/Indiana/Indianapolis"
"America/Indiana/Knox"
"America/Indiana/Marengo"
"America/Indiana/Petersburg"
"America/Indiana/Tell_City"
"America/Indiana/Vevay"
"America/Indiana/Vincennes"
"America/Indiana/Winamac"
"America/Inuvik"
"America/Iqaluit"
"America/Jamaica"
"America/Juneau"
"America/Kentucky/Louisville"
"America/Kentucky/Monticello"
"America/Kralendijk"
"America/La_Paz"
"America/Lima"
"America/Los_Angeles"
"America/Lower_Princes"
"America/Maceio"
"America/Managua"
"America/Manaus"
"America/Marigot"
"America/Martinique"
"America/Matamoros"
"America/Mazatlan"
"America/Menominee"
"America/Merida"
"America/Metlakatla"
"America/Mexico_City"
"America/Miquelon"
"America/Moncton"
"America/Monterrey"
"America/Montevideo"
"America/Montreal"
"America/Montserrat"
"America/Nassau"
"America/New_York"
"America/Nipigon"
"America/Nome"
"America/Noronha"
"America/North_Dakota/Beulah"
"America/North_Dakota/Center"
"America/North_Dakota/New_Salem"
"America/Ojinaga"
"America/Panama"
"America/Pangnirtung"
"America/Paramaribo"
"America/Phoenix"
"America/Port-au-Prince"
"America/Port_of_Spain"
"America/Porto_Velho"
"America/Puerto_Rico"
"America/Punta_Arenas"
"America/Rainy_River"
"America/Rankin_Inlet"
"America/Recife"
"America/Regina"
"America/Resolute"
"America/Rio_Branco"
"America/Santa_Isabel"
"America/Santarem"
"America/Santiago"
"America/Santo_Domingo"
"America/Sao_Paulo"
"America/Scoresbysund"
"America/Shiprock"
"America/Sitka"
"America/St_Barthelemy"
"America/St_Johns"
"America/St_Kitts"
"America/St_Lucia"
"America/St_Thomas"
"America/St_Vincent"
"America/Swift_Current"
"America/Tegucigalpa"
"America/Thule"
"America/Thunder_Bay"
"America/Tijuana"
"America/Toronto"
"America/Tortola"
"America/Vancouver"
"America/Whitehorse"
"America/Winnipeg"
"America/Yakutat"
"America/Yellowknife"
"Antarctica/Casey"
"Antarctica/Davis"
"Antarctica/DumontDUrville"
"Antarctica/Macquarie"
"Antarctica/Mawson"
"Antarctica/McMurdo"
"Antarctica/Palmer"
"Antarctica/Rothera"
"Antarctica/South_Pole"
"Antarctica/Syowa"
"Antarctica/Troll"
"Antarctica/Vostok"
"Arctic/Longyearbyen"
"Asia/Aden"
"Asia/Almaty"
"Asia/Amman"
"Asia/Anadyr"
"Asia/Aqtau"
"Asia/Aqtobe"
"Asia/Ashgabat"
"Asia/Atyrau"
"Asia/Baghdad"
"Asia/Bahrain"
"Asia/Baku"
"Asia/Bangkok"
"Asia/Barnaul"
"Asia/Beirut"
"Asia/Bishkek"
"Asia/Brunei"
"Asia/Chita"
"Asia/Choibalsan"
"Asia/Chongqing"
"Asia/Colombo"
"Asia/Damascus"
"Asia/Dhaka"
"Asia/Dili"
"Asia/Dubai"
"Asia/Dushanbe"
"Asia/Famagusta"
"Asia/Gaza"
"Asia/Harbin"
"Asia/Hebron"
"Asia/Ho_Chi_Minh"
"Asia/Hong_Kong"
"Asia/Hovd"
"Asia/Irkutsk"
"Asia/Jakarta"
"Asia/Jayapura"
"Asia/Jerusalem"
"Asia/Kabul"
"Asia/Kamchatka"
"Asia/Karachi"
"Asia/Kashgar"
"Asia/Kathmandu"
"Asia/Katmandu"
"Asia/Khandyga"
"Asia/Kolkata"
"Asia/Krasnoyarsk"
"Asia/Kuala_Lumpur"
"Asia/Kuching"
"Asia/Kuwait"
"Asia/Macau"
"Asia/Magadan"
"Asia/Makassar"
"Asia/Manila"
"Asia/Muscat"
"Asia/Nicosia"
"Asia/Novokuznetsk"
"Asia/Novosibirsk"
"Asia/Omsk"
"Asia/Oral"
"Asia/Phnom_Penh"
"Asia/Pontianak"
"Asia/Pyongyang"
"Asia/Qatar"
"Asia/Qyzylorda"
"Asia/Rangoon"
"Asia/Riyadh"
"Asia/Sakhalin"
"Asia/Samarkand"
"Asia/Seoul"
"Asia/Shanghai"
"Asia/Singapore"
"Asia/Srednekolymsk"
"Asia/Taipei"
"Asia/Tashkent"
"Asia/Tbilisi"
"Asia/Tehran"
"Asia/Thimphu"
"Asia/Tokyo"
"Asia/Tomsk"
"Asia/Ulaanbaatar"
"Asia/Urumqi"
"Asia/Ust-Nera"
"Asia/Vientiane"
"Asia/Vladivostok"
"Asia/Yakutsk"
"Asia/Yangon"
"Asia/Yekaterinburg"
"Asia/Yerevan"
"Atlantic/Azores"
"Atlantic/Bermuda"
"Atlantic/Canary"
"Atlantic/Cape_Verde"
"Atlantic/Faroe"
"Atlantic/Madeira"
"Atlantic/Reykjavik"
"Atlantic/South_Georgia"
"Atlantic/St_Helena"
"Atlantic/Stanley"
"Australia/Adelaide"
"Australia/Brisbane"
"Australia/Broken_Hill"
"Australia/Currie"
"Australia/Darwin"
"Australia/Eucla"
"Australia/Hobart"
"Australia/Lindeman"
"Australia/Lord_Howe"
"Australia/Melbourne"
"Australia/Perth"
"Australia/Sydney"
"Europe/Amsterdam"
"Europe/Andorra"
"Europe/Astrakhan"
"Europe/Athens"
"Europe/Belgrade"
"Europe/Berlin"
"Europe/Bratislava"
"Europe/Brussels"
"Europe/Bucharest"
"Europe/Budapest"
"Europe/Busingen"
"Europe/Chisinau"
"Europe/Copenhagen"
"Europe/Dublin"
"Europe/Gibraltar"
"Europe/Guernsey"
"Europe/Helsinki"
"Europe/Isle_of_Man"
"Europe/Istanbul"
"Europe/Jersey"
"Europe/Kaliningrad"
"Europe/Kiev"
"Europe/Kirov"
"Europe/Lisbon"
"Europe/Ljubljana"
"Europe/London"
"Europe/Luxembourg"
"Europe/Madrid"
"Europe/Malta"
"Europe/Mariehamn"
"Europe/Minsk"
"Europe/Monaco"
"Europe/Moscow"
"Europe/Oslo"
"Europe/Paris"
"Europe/Podgorica"
"Europe/Prague"
"Europe/Riga"
"Europe/Rome"
"Europe/Samara"
"Europe/San_Marino"
"Europe/Sarajevo"
"Europe/Saratov"
"Europe/Simferopol"
"Europe/Skopje"
"Europe/Sofia"
"Europe/Stockholm"
"Europe/Tallinn"
"Europe/Tirane"
"Europe/Ulyanovsk"
"Europe/Uzhgorod"
"Europe/Vaduz"
"Europe/Vatican"
"Europe/Vienna"
"Europe/Vilnius"
"Europe/Volgograd"
"Europe/Warsaw"
"Europe/Zagreb"
"Europe/Zaporozhye"
"Europe/Zurich"
"GMT"
"Indian/Antananarivo"
"Indian/Chagos"
"Indian/Christmas"
"Indian/Cocos"
"Indian/Comoro"
"Indian/Kerguelen"
"Indian/Mahe"
"Indian/Maldives"
"Indian/Mauritius"
"Indian/Mayotte"
"Indian/Reunion"
"Pacific/Apia"
"Pacific/Auckland"
"Pacific/Bougainville"
"Pacific/Chatham"
"Pacific/Chuuk"
"Pacific/Easter"
"Pacific/Efate"
"Pacific/Enderbury"
"Pacific/Fakaofo"
"Pacific/Fiji"
"Pacific/Funafuti"
"Pacific/Galapagos"
"Pacific/Gambier"
"Pacific/Guadalcanal"
"Pacific/Guam"
"Pacific/Honolulu"
"Pacific/Johnston"
"Pacific/Kiritimati"
"Pacific/Kosrae"
"Pacific/Kwajalein"
"Pacific/Majuro"
"Pacific/Marquesas"
"Pacific/Midway"
"Pacific/Nauru"
"Pacific/Niue"
"Pacific/Norfolk"
"Pacific/Noumea"
"Pacific/Pago_Pago"
"Pacific/Palau"
"Pacific/Pitcairn"
"Pacific/Pohnpei"
"Pacific/Ponape"
"Pacific/Port_Moresby"
"Pacific/Rarotonga"
"Pacific/Saipan"
"Pacific/Tahiti"
"Pacific/Tarawa"
"Pacific/Tongatapu"
"Pacific/Truk"
"Pacific/Wake"
"Pacific/Wallis"