[Javascript] Waarom Month van 0 tot 11*

Pagina: 1
Acties:

  • palloquin
  • Registratie: Juli 2000
  • Laatst online: 29-01-2021
Ik moet dit even kwijt, en misschien dat iemand mij het nut ervan kan uitleggen.

In de mooie javascript omgeving is er 1 ding dat altijd bij mij voor problemen zorgt. conversie naar java datums. Mijn laatste stukje onbegrip:
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])

Arguments
dateObj
Required. The variable name to which the Date object is assigned.

dateVal
Required. If a numeric value, dateVal represents the number of milliseconds in Universal Coordinated Time between the specified date and midnight January 1, 1970. If a string, dateVal is parsed according to the rules in the parse method. The dateVal argument can also be a VT_DATE value as returned from some ActiveX® objects.

year
Required. The full year, for example, 1976 (and not 76).

month
Required. The month as an integer between 0 and 11 (January to December).

date
Required. The date as an integer between 1 and 31.

hours
Optional. Must be supplied if minutes is supplied. An integer from 0 to 23 (midnight to 11pm) that specifies the hour.

minutes
Optional. Must be supplied if seconds is supplied. An integer from 0 to 59 that specifies the minutes.

seconds
Optional. Must be supplied if milliseconds is supplied. An integer from 0 to 59 that specifies the seconds.

ms
Optional. An integer from 0 to 999 that specifies the milliseconds.
Zie dit:
month
Required. The month as an integer between 0 and 11 (January to December).
Wie heeft dat bedacht... en waarom... in (bijna) ieder systeem en zeker in iedere DB omgeving waar ik in heb gewerkt zijn maanden 1-12. dit maakt conversie nodeloos ingewikkeld... en wat levert het op?

Waarom?

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Net zoals array indices starten bij 0, denk ik. Overigens is conversie dan gewoon een kwestie van één ervan aftrekken, lijkt me?

DM!


  • palloquin
  • Registratie: Juli 2000
  • Laatst online: 29-01-2021
natuurlijk is dat een kwestie van 1 aftekken maar dat vereist een stukje logica en code, anders had je veel simpler geween een datum uit b.v. een database java in kunnen schieten.

Bij arrays is het prima.. daar heeft de index geen logische betekennis... hier duidelijk wel...

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Bij arrays is het prima.. daar heeft de index geen logische betekennis...
Ehm, het is gewoon common knowledge om arrays te laten beginnen op 0 en dat is dus ook gedaan voor maanden.

Je kan je beklag eventueel indienen bij de bedenkers van JS, maar om nou een topic hier aan te maken met zo'n titel :?

Ik laat het topic even open, wellicht dat iemand weet waarom het precies zo is :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • André
  • Registratie: Maart 2002
  • Laatst online: 08-04 16:23

André

Analytics dude

Het is niet consequent nee, anders had de date() functie ook vanaf 0 moeten beginnen. Verder zou ik me er niet zo druk over maken ;)

  • Blaise
  • Registratie: Juni 2001
  • Niet online
Bij PHP is het wel 1-12.

Overigens is 0-11 wel handig als je een array hebt met Nederlandse maandnamen.

  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 02-04 08:55

giMoz

iets met meester...

PHP is nog nooit kunnen betrappen op enige consitentie, zeker niet qua datums..


Verder is het idd gedaan voor het werken met array's met maandnamen. zowel de javascript toGMTString() als vele zelf gemaakte scripts voor het genereren van de maandnaam werken juist erg makkelijk vanwege het beginnen bij 0.

Of niet natuurlijk...


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

pas wel even op met Safari's wazige setMonth()

Stop uploading passwords to Github!

Pagina: 1