Initialisation de la date
Le
Gloops

Bonjour tout le monde,
Pour initialiser une date, on peut taper
var Dt = new Date()
auquel cas on a la date (et l'heure) au moment de l'initialisation, mais
on peut aussi taper
var Dt = new Date("13/02/2016")
auquel cas on aura la date telle que passée en paramètre.
Sur une machine, j'ai cette date interprétée au format dd/MM/yyyy, sur
une autre elle est interprétée au format MM/dd/yyyy.
De quoi est-ce que ça dépend, y a-t-il quelque chose à régler dans le
panneau de configuration ?
Pour initialiser une date, on peut taper
var Dt = new Date()
auquel cas on a la date (et l'heure) au moment de l'initialisation, mais
on peut aussi taper
var Dt = new Date("13/02/2016")
auquel cas on aura la date telle que passée en paramètre.
Sur une machine, j'ai cette date interprétée au format dd/MM/yyyy, sur
une autre elle est interprétée au format MM/dd/yyyy.
De quoi est-ce que ça dépend, y a-t-il quelque chose à régler dans le
panneau de configuration ?
Le 13/02/2016 17:59, Gloops a écrit :
D'après la norme ECMAScript, la date sera interprétée sans ambigüité
si elle respecte le format ISO 8601, c'est-à-dire YYYY-MM-DD si tu ne
précises pas l'heure, YYYY-MM-DDTHH:mm:ss.sssZ pour le format complet.
Voir pour tous les formats possibles.
Selon si tu donnes un autre format (en l'occurrence DD/MM/YYYY ou MM/MM/YYYY),
le résultat dépendra de choix d'implémentation spécifiques.
Donc, si tu ne veux pas être tributaire d'implémentations spécifiques,
tu devrais écrire :
var Dt = new Date("2016-02-13");
ou bien :
var Dt = new Date(2016, 2, 13);
Cela dit, je suis à peu près convaincu que ça fonctionnera aussi en
écrivant :
var Dt = new Date("2016/02/13");
... mais si tu veux faire les choses proprement il vaut mieux des traits
d'union.
Cordialement,
--
Olivier Miakinen
Ah, OK. J'avais bien pensé à Windows, en fait c'est plutôt son WScript
ou CScript qui est en cause.
Effectivement ça ne coûte pas cher de mettre année mois jour. C'est bien
comme ça que ça avait fini sous Access d'ailleurs, avec une fonction dédiée.
La première des syntaxes que tu cites suit le même principe, j'avais mis
ça dans mon script pour initialiser la variable, et puis ensuite il
s'agit de la lire dans un fichier de config donc la deuxième syntaxe
sera plus adaptée.
Merci.
et ce formt iso est ok aussi pour MySQL ?
moi j'ai pris :
"YYY-MM-DD hh:mm:ss"
donc sans "T" ni "Z"
Je pense qu'il vaut mieux poser la question aux experts des bases de
données, dont je ne suis pas. Du coup je fais suivre vers le groupe
fr.comp.applications.sgbd
Cela dit, faisant une recherche avec « date MySQL » sur la toile, je
suis tombé là-dessus en deux clics :
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-types.html
Un clic de plus et j'avais ça :
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html
Je suppose que ça répond à ta question.
oui, oui, merci, c'est bien ce que j'avais lu.
j'avais un doute car MongoDB exige le format iso.
là c'est autre chose c'est bien YYY-MM-DD HH:mm:ss
bon.
Le Dimanche 14 février 2016 à 05:46 UTC, Une Bévue écrivait sur
fr.comp.lang.javascript :
^^^^ manquait un Y
Format valide pour MySQL ou MariaDB pour les champs de type 'DATE'.
C'est aussi le format à utiliser pour sqllite (champs de type 'TEXT').
@+
--
On ne le dira jamais assez, l'anarchisme, c'est l'ordre sans le
gouvernement ; c'est la paix sans la violence. C'est le contraire
précisément de tout ce qu'on lui reproche, soit par ignorance, soit
par mauvaise foi. -+- Hem Day -+-