We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Deze vertaling is niet volledig. Help dit artikel te vertalen vanuit het Engels.

Creëert een JavaScript Date instantie welke een enkel punt in tijd voorstelt. Date objecten zijn gebaseerd op een tijdwaarde die gelijk staat aan het aantal milliseconden sinds 1 January, 1970 UTC.

Syntax

new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

NB: JavaScript Date kan enkel worden geïnstantieerd door JavaScript Date als een constructor aan te roepen: het aanroepen als een gewone functie (bijv. zonder de new operator) zal een string terug geven in plaats van een Date object; anders dan andere JavaScript object types, hebben JavaScript Date objecten geen letterlijke syntax.

Parameters

NB: Indien Date wordt aangeroepen als een constructor met meer dan een argument, als waarden groter zijn dan hun logische reeks (bij. 13 wordt gegeven als waarde voor de maand of 70 voor als waarde voor de minuut), wordt de naastgelegen waarde aangepast. Bijvoorbeeld new Date(2013, 13, 1) staat gelijk aan new Date(2014, 1, 1), beide creëren een datum voor 2014-02-01 (let er op dat de maand vanaf 0 telt). Dit geldt ook voor andere waarden: new Date(2013, 2, 1, 0, 70) is gelijk aan new Date(2013, 2, 1, 1, 10) en beide creëren een datum voor 2013-03-01T01:10:00.

NB: Waar Date wordt aangeroepen als een constructor met meer dan een argument, staan de opgegeven argumenten voor lokale tijd. Als UTC gewenst is, gebruik dan new Date(Date.UTC(...)) met dezelfde argumenten.

value
Numerieke waarde welke het aantal milliseconden voorstelt vanaf 1 January 1970 00:00:00 UTC (Unix Tijdperk; maar hou er rekening mee dat de meeste Unix tijd functies in seconden tellen).
dateString
Tekstuele weergave van de datum. De tekst moet een formaat hebben dat wordt herkend door de Date.parse() methode (IETF-compliant RFC 2822 timestamps en ook een versie van ISO8601).

Note: Het parsen van datumstrings met de Date constructor (en Date.parse, deze zijn gelijkwaardig) wordt sterk afgeraden door de verschillen en inconsistenties van browsers.

year
Nummerieke voorstelling van het jaar. Waarden van 0 tot 99 komen overeen met de jaren 1900 tot 1999. Zie het voorbeeld beneden.
month
Nummerieke voorstelling van de maand, beginnend met 0 voor januari tot 11 voor december.
day
Optioneel. Nummerieke voorstelling van de dag van de maand.
hour
Optioneel. Nummerieke voorstelling van het uur van de dag.
minute
Optioneel. Nummerieke voorstelling van het minuut segment van een tijd.
second
Optioneel. Nummerieke voorstelling van het seconde segment van een tijd.
millisecond
Optioneel. Nummerieke voorstelling van het milliseconde segment van een tijd.

Omschrijving

  • Als er geen argumenten worden gegeven, zal een JavaScript Date object worden gemaakt volgens de huidige tijd en systeeminstellingen.
  • Als er ten minste twee argumenten worden gegeven, worden ontbrekende argumenten op 1 gezet (als de dag ontbreekt) of 0 voor alle andere.
  • De Javascript datum is gebaseerd op een tijdswaarde dat het aantal milliseconden voorstelt sinds 01 January, 1970 UTC. Een dag bevat 86,400,000 milliseconden. Het JavaScript Date object heeft een waarde reeks van -100,000,000 dagen tot 100,000,000 dagen relatief aan 01 January, 1970 UTC.
  • Het JavaScript Date object biedt uniform gedrag tussen platformen. De tijdswaarde kan doorgegeven worden tussen systemen om hetzelfde punt in tijd voor te stellen. 
  • Het JavaScript Date object ondersteunt een aantal UTC (universal) functies, evenals lokale tijd functies. UTC, ook bekend als Greenwich Mean Time (GMT), refereert naar de tijd zoals bepaald door de World Time Standard. De lokale tijd is de tijd zoals bekend bij de computer waar JavaScript wordt uitgevoerd.
  • Het aanroepen van JavaScript Date als een functie (ofwel, zonder de new operator) zal een tekstreeks teruggeven die de huidige datum en tijd weergeeft.

Eigenschappen

Date.prototype
Staat het toe om eigenschappen toe te voegen aan het JavaScript Date object.
Date.length
De waarde van Date.length is 7. Dit is het aantal argumenten wat door de constructor wordt verwerkt.

Methodes

Date.now()
Geeft de numerieke waarde van de huidige tijd - het aantal milliseconden verlopen sinds 1 January 1970 00:00:00 UTC.
Date.parse()
Verwerkt een tekstuele representaie van een datum en geeft het aantal milliseconden terug vanaf 1 January, 1970, 00:00:00, UTC.

Note: Het parsen van datumstrings met de Date constructor (en Date.parse, deze zijn gelijk) wordt sterk afgeraden door de verschillen en inconsistenties van browsers.

Date.UTC()
Accepteert de zelfde parameters als de langste vorm van de constructor (ofwel 2 tot 7) en geeft het aantal milliseconden terug vanaf 1 January, 1970, 00:00:00 UTC.

JavaScript Date instanties

Alle Date instanties erven van Date.prototype. Het prototype object van de Date constructor kan aangepast worden om alle Date instanties te beïnvloeden.

Date.prototype Methodes

Getter

Date.prototype.getDate()
Returns the day of the month (1-31) for the specified date according to local time.
Date.prototype.getDay()
Returns the day of the week (0-6) for the specified date according to local time.
Date.prototype.getFullYear()
Returns the year (4 digits for 4-digit years) of the specified date according to local time.
Date.prototype.getHours()
Returns the hour (0-23) in the specified date according to local time.
Date.prototype.getMilliseconds()
Returns the milliseconds (0-999) in the specified date according to local time.
Date.prototype.getMinutes()
Returns the minutes (0-59) in the specified date according to local time.
Date.prototype.getMonth()
Returns the month (0-11) in the specified date according to local time.
Date.prototype.getSeconds()
Returns the seconds (0-59) in the specified date according to local time.
Date.prototype.getTime()
Returns the numeric value of the specified date as the number of milliseconds since January 1, 1970, 00:00:00 UTC (negative for prior times).
Date.prototype.getTimezoneOffset()
Returns the time-zone offset in minutes for the current locale.
Date.prototype.getUTCDate()
Returns the day (date) of the month (1-31) in the specified date according to universal time.
Date.prototype.getUTCDay()
Returns the day of the week (0-6) in the specified date according to universal time.
Date.prototype.getUTCFullYear()
Returns the year (4 digits for 4-digit years) in the specified date according to universal time.
Date.prototype.getUTCHours()
Returns the hours (0-23) in the specified date according to universal time.
Date.prototype.getUTCMilliseconds()
Returns the milliseconds (0-999) in the specified date according to universal time.
Date.prototype.getUTCMinutes()
Returns the minutes (0-59) in the specified date according to universal time.
Date.prototype.getUTCMonth()
Returns the month (0-11) in the specified date according to universal time.
Date.prototype.getUTCSeconds()
Returns the seconds (0-59) in the specified date according to universal time.
Date.prototype.getYear()
Returns the year (usually 2-3 digits) in the specified date according to local time. Use getFullYear() instead.

Setter

Date.prototype.setDate()
Sets the day of the month for a specified date according to local time.
Date.prototype.setFullYear()
Sets the full year (e.g. 4 digits for 4-digit years) for a specified date according to local time.
Date.prototype.setHours()
Sets the hours for a specified date according to local time.
Date.prototype.setMilliseconds()
Sets the milliseconds for a specified date according to local time.
Date.prototype.setMinutes()
Sets the minutes for a specified date according to local time.
Date.prototype.setMonth()
Sets the month for a specified date according to local time.
Date.prototype.setSeconds()
Sets the seconds for a specified date according to local time.
Date.prototype.setTime()
Sets the Date object to the time represented by a number of milliseconds since January 1, 1970, 00:00:00 UTC, allowing for negative numbers for times prior.
Date.prototype.setUTCDate()
Sets the day of the month for a specified date according to universal time.
Date.prototype.setUTCFullYear()
Sets the full year (e.g. 4 digits for 4-digit years) for a specified date according to universal time.
Date.prototype.setUTCHours()
Sets the hour for a specified date according to universal time.
Date.prototype.setUTCMilliseconds()
Sets the milliseconds for a specified date according to universal time.
Date.prototype.setUTCMinutes()
Sets the minutes for a specified date according to universal time.
Date.prototype.setUTCMonth()
Sets the month for a specified date according to universal time.
Date.prototype.setUTCSeconds()
Sets the seconds for a specified date according to universal time.
Date.prototype.setYear()
Sets the year (usually 2-3 digits) for a specified date according to local time. Use setFullYear() instead.

Conversion getter

Date.prototype.toDateString()
Returns the "date" portion of the Date as a human-readable string.
Date.prototype.toISOString()
Converts a date to a string following the ISO 8601 Extended Format.
Date.prototype.toJSON()
Returns a string representing the Date using toISOString(). Intended for use by JSON.stringify().
Date.prototype.toGMTString()
Returns a string representing the Date based on the GMT (UT) time zone. Use toUTCString() instead.
Date.prototype.toLocaleDateString()
Returns a string with a locality sensitive representation of the date portion of this date based on system settings.
Date.prototype.toLocaleFormat()
Converts a date to a string, using a format string.
Date.prototype.toLocaleString()
Returns a string with a locality sensitive representation of this date. Overrides the Object.prototype.toLocaleString() method.
Date.prototype.toLocaleTimeString()
Returns a string with a locality sensitive representation of the time portion of this date based on system settings.
Date.prototype.toSource()
Returns a string representing the source for an equivalent Date object; you can use this value to create a new object. Overrides the Object.prototype.toSource() method.
Date.prototype.toString()
Returns a string representing the specified Date object. Overrides the Object.prototype.toString() method.
Date.prototype.toTimeString()
Returns the "time" portion of the Date as a human-readable string.
Date.prototype.toUTCString()
Converts a date to a string using the UTC timezone.
Date.prototype.valueOf()
Returns the primitive value of a Date object. Overrides the Object.prototype.valueOf() method.

Voorbeelden

Verschillende manieren om een Date object te creëeren

De volgende voorbeelden tonen verschillende manieren om Javascript datums te creëren:

Note: Het parsen van datumstrings met de Date constructor (en Date.parse, deze zijn gelijk) wordt sterk afgeraden door de verschillen en inconsistenties van browsers.

var vandaag = new Date();
var verjaardag = new Date('December 17, 1995 03:24:00');
var verjaardag = new Date('1995-12-17T03:24:00');
var verjaardag = new Date(1995, 11, 17);
var verjaardag = new Date(1995, 11, 17, 3, 24, 0);

Tweegetals jaren worden getransformeerd tot  1900-1999

Om datums tussen de jaren 0 en 99 te creëeren en te verkrijgen, horen Date.prototype.setFullYear() en Date.prototype.getFullYear() gebruikt te worden.

var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)

// Verouderde methode, 98 wordt hier naar 1998 omgezet
date.setYear(98);           // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)

date.setFullYear(98);       // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)

Verstreken tijd berekenen

De volgende voorbeelden tonen hoe het mogelijk is om te bepalen hoeveel tijd, in milliseconden, er is verstreken tussen twee Javascript datums.

In verband met het de mogelijke verschillen in lengtes van dagen (door de overgangen tussen zomer- en wintertijd), maanden en jaren, kunnen er problemen optreden als wordt geprobeerd verschillen te bepalen die groter zijn dan uren, minuten en seconden. Het wordt aangeraden eerst grondig onderzoek hiernaar te doen, alvorens dit te proberen.

// met Date objecten
var start = Date.now();

// de gebeurtenis om te meten hoort hier:
doeIetsVoorEenLangePeriode();
var einde = Date.now();
var verstreken = einde - start; // verstreken tijd in milliseconden
// met ingebouwde methodes
var start = new Date();

// de gebeurtenis om te meten hoort hier:
doeIetsVoorEenLangePeriode();
var einde = new Date();
var verstreken = einde.getTime() - start.getTime(); // verstreken tijd in milliseconden 
// om een functie te testen en de return waarde terug te krijgen
function printVerstrekenTijd(fTest) {
  var nStartTijd = Date.now(),
      vReturn = fTest(),
      nEindTijd = Date.now();

  console.log('Verstreken tijd: ' + String(nEindTijd - nStartTijd) + ' milliseconden');
  return vReturn;
}

var jouwFunctieReturn = printVerstrekenTijd(jouwFunctie);

NB: In browsers die ondersteuning bieden voor Web Performance API's hoge resolutie tijdsfunctionaliteiten, kan Performance.now() meer betrouwbare en preciezere metingen opleveren dan Date.now() kan.

Aantal seconden sinds Unix Epoch

var seconden = Math.floor(Date.now() / 1000);

In dit geval is het belangrijk een geheel getal te retourneren (eenvoudige deling is niet toereikend), waarbij het gaat het aantal feitelijk verstreken seconden (daarom gebruikt deze code Math.floor() en niet Math.round()).

Specificaties

Specificatie Status Commentaar
ECMAScript Latest Draft (ECMA-262)
The definition of 'Date' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Date' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'Date' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262) Standard Initiële definitie. Geïmplementeerd in JavaScript 1.1.

Browser compatibiliteit

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) [1] (Yes) [1] (Yes) [2] (Yes) [1] (Yes) [1]
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

[1] Some browsers can have issues when parsing dates: 3/14/2012 blog from danvk Comparing FF/IE/Chrome on Parsing Date Strings

[2] ISO8601 Date Format is not supported in Internet Explorer 8, and other version can have issues when parsing dates

Documentlabels en -medewerkers

Aan deze pagina hebben bijgedragen: sphenk, Vinno97, dkruythoff
Laatst bijgewerkt door: sphenk,