Récemment, j'ai rencontré un problème, c'est-à-dire que lors de l'obtention de la date dans le formulaire et de sa transmission en arrière-plan via json, la fonction Date.parse(str) a signalé une erreur sous ff : NAN
Après avoir recherché des informations, j'ai découvert que la fonction Date.parse() avait des exigences concernant le format de date : veuillez vous référer à la fonction Date.parse pour plus de détails.
Pour la date d’opération js :
Créez un objet date :
var objDate=new Date([liste d'arguments]);
Il existe cinq types de formulaires de paramètres :
Copiez le code comme suit :
afficher la nouvelle date ("mois jj, aaaa hh: mm: ss");
new Date("mois jj,aaaa");
nouvelle date (aaaa, mois, jj, hh, mm, ss);
nouvelle date (aaaa, mois, jj);
nouvelle date (ms);
illustrer:
mois : Indique le nom du mois en anglais, de janvier à décembre
mth : représente le mois sous forme d'entier, de 0 (janvier) à 11 (décembre)
Contenu
dd : indique le jour du mois, de 1 à 31
aaaa : année à quatre chiffres
hh : heure, de 0 (minuit) à 23 (23h)
mm : Minutes, un entier de 0 à 59
ss : secondes, un entier de 0 à 59
ms : millisecondes, un entier supérieur ou égal à 0, indiquant le nombre de millisecondes entre l'heure à créer et l'heure GMT du 1er janvier 1970.
Ce que j'ai trouvé :
La construction de date en Javascript peut également prendre en charge new Date("yyyy/MM/dd"); où : MM est un entier représentant le mois de 0 (janvier) à 11 (décembre), il est donc très pratique d'utiliser des expressions régulières. pour convertir les dates de chaîne.
Code d'essai :
Copiez le code comme suit :
<mce:script type="text/javascript"><!--
document.write("<br/>" + new Date("3 février 2009"));
document.write("<br/>" + new Date("3 février 2009 10:52:03"));
document.write("<br/>");
document.write("<br/>" + new Date(2009,1,3));
document.write("<br/>" + new Date(2009,1,3,10,52,03));
document.write("<br/>");
document.write("<br/>" + new Date(Date.parse("3 février 2009")));
document.write("<br/>" + new Date(Date.parse("3 février 2009 10:52:03")));
document.write("<br/>" + new Date(Date.parse(2009,1,3))); //Sortie : NAN
document.write("<br/>" + new Date(Date.parse(2009,1,3,10,52,03))); //Sortie : NAN
document.write("<br/>" + new Date(Date.parse("2009/02/03")));
document.write("<br/>");
document.write("<br/>" + new Date("2009/02/03"));
document.write("<br/>" + new Date("2009/02/03 11:12:13"));
document.write("<br/>" + new Date("2009-02-03")); //Sortie : NAN
// --></mce:script>
Résultat de sortie :
Mardi 3 février 00:00:00 UTC+0800 2009
Mardi 3 février 2009 10:52:03 UTC+0800
Mardi 3 février 00:00:00 UTC+0800 2009
Mardi 3 février 2009 10:52:03 UTC+0800
Mardi 3 février 00:00:00 UTC+0800 2009
Mardi 3 février 2009 10:52:03 UTC+0800
NaN
NaN
Mardi 3 février 00:00:00 UTC+0800 2009
Mardi 3 février 00:00:00 UTC+0800 2009
Mardi 3 février 11:12:13 UTC+0800 2009
NaN
-------------------
Copiez le code comme suit :
window.onload=fonction(){
var dependVal="2005-3-4";
//Convertir en date en fonction de la chaîne de date
var regEx = new RegExp("//-","gi");
dependedVal=dependedVal.replace(regEx,"/");
//dependedVal=dependedVal.replace("//-","/");//Cela ne marche pas
alerte (dependedVal)
//l'analyse nécessite le format 2005/3/4
var millisecondes=Date.parse(dependedVal);
alerte (millisecondes)
var dependDate=nouvelle Date();
dependantDate.setTime (millisecondes);
var maintenant = new Date();
//Faites attention aux parenthèses, aux problèmes prioritaires, à l'impuissance
alert("Le nombre d'années d'intervalle :"+(now.getFullYear() -dependentDate.getFullYear()));
}
En effet, la date doit être transmise entre le navigateur et le serveur via la valeur en milliseconde, sinon une erreur 400 sera signalée !