mmm, mais comment vérifier que strDate a une valeur invalide comme "30.30.2000"?
Dr. No
2
@ user674887, vous pouvez comparer les valeurs après analyse. par exemple dateParts [1] -1 == date.getMonth ()
Jonathan Fingland
Si vous avez une date à la fois TIME comme ceci: "2014-05-20T16: 43: 56.71-06: 00" var partesFecha = solicitud.CreatedDate.split ("T") [0] .split ("-"); var createdDate = nouvelle date (partesFecha [0], (partesFecha [1] - 1), partesFecha [2]); Date du premier extrait avant T et plus tard, année, mois et jour.
RolandoCC
Je ne peux pas croire que vous deviez utiliser un fractionnement pour obtenir le format de date attendu en javascript
Claudiu Creanga
Quelqu'un d'autre trouve-t-il étrange que l'article de référence de Mozilla sur l'objet Date lui-même dise "Note: parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies."?
NanoWizard
51
Si vous utilisez jQuery UI, vous pouvez formater n'importe quelle date avec:
<html><body>Your date formated:<span id="date1"></span><br/></body></html>
+1 Je ne vois pas totalement hors de portée, JavaScript et JQuery sont une combinaison courante.
djna le
Une réponse ne doit pas s'appuyer sur une bibliothèque qui n'est ni balisée ni mentionnée dans l'OP. Utiliser jQuery comme bibliothèque de dates est excessif lorsqu'une fonction à 3 lignes peut faire le même travail.
RobG
9
Nous utilisons ce code pour vérifier si la chaîne est une date valide
Cela ne teste pas du tout les dates valides, cela teste simplement si le constructeur Date peut créer une date valide à partir de l'entrée. Les deux ne sont pas la même chose.
Dans la plupart des cas, MomentJS est exagéré, car l'utilisation de JavaScript pur ne nécessite que des centaines d'octets, tandis que MomentJS est gzippé à 12,4 Ko. Pratique pour les développeurs mais ralentit le site Web. Ça ne vaut pas.
Raptor
3
J'ai été utilisé en suivant le code dans IE. (Compatible IE8)
var dString ="2013.2.4";var myDate =newDate( dString.replace(/(\d+)\.(\d+)\.(\d+)/,"$2/$3/$1"));
alert("my date:"+ myDate );
@ Duke— new Date(Date.parse('02.02.1999'))produira des résultats identiques à new Date('02.02.1999'), y compris la date invalide dans certains navigateurs. L'utilisation de l'analyseur intégré est sans doute la pire façon d'analyser un horodatage.
RobG
2
Cette fonction gère également la date 29.2.2001 invalide.
function parseDate(str){var dateParts = str.split(".");if(dateParts.length !=3)returnnull;var year = dateParts[2];var month = dateParts[1];var day = dateParts[0];if(isNaN(day)|| isNaN(month)|| isNaN(year))returnnull;var result =newDate(year,(month -1), day);if(result ==null)returnnull;if(result.getDate()!= day)returnnull;if(result.getMonth()!=(month -1))returnnull;if(result.getFullYear()!= year)returnnull;return result;}
Vous êtes censé utiliser javascript et non jquery car il n'y a pas de balise jquery
Sagar
heureux ... le sens est de simplement comprendre le senario
Bachas
Bien. Je ne pense pas que votre exemple soit différent de celui donné par Martin Staufcik. En fait, sa réponse a une logique supplémentaire pour gérer les dates invalides.
Sagar le
Martin Staufcik gère ces conditions qui ne se produisent généralement pas. pouvez-vous me donner un calendrier qui peut donner des invalides.Pourquoi nous devrions écrire un code si long lorsque nous pouvons gérer à court terme. Ce serait beaucoup mieux si Martin Staufcik donne également pour gérer la date avec l'heure à gérer.
Réponses:
Voir:
Code:
la source
"Note: parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies."
?Si vous utilisez jQuery UI, vous pouvez formater n'importe quelle date avec:
http://jsfiddle.net/mescalito2345/ND2Qg/14/
la source
Nous utilisons ce code pour vérifier si la chaîne est une date valide
la source
réfs: http://momentjs.com/docs/#/parsing/string/
Si vous utilisez moment.js, vous pouvez utiliser le mode "string" + "format"
ex:
la source
J'ai été utilisé en suivant le code dans IE. (Compatible IE8)
la source
Les développeurs ASP.NET ont le choix de ce module intégré pratique (MS JS doit être inclus dans la page):
http://msdn.microsoft.com/en-us/library/bb397521%28v=vs.100%29.aspx
la source
Utiliser l'objet Date:
Donner: 917902800000
la source
new Date(Date.parse('02.02.1999'))
new Date(Date.parse('02.02.1999'))
pour Javascriptnew Date(Date.parse('02.02.1999'))
produira des résultats identiques ànew Date('02.02.1999')
, y compris la date invalide dans certains navigateurs. L'utilisation de l'analyseur intégré est sans doute la pire façon d'analyser un horodatage.Cette fonction gère également la date 29.2.2001 invalide.
la source
vous pouvez formater la date en faisant simplement ce type de code. En javascript.
la source