Je reçois un avertissement indiquant qu'une valeur fournie à l'instant n'est pas dans un format ISO reconnu. J'ai changé ma variable aujourd'hui avec la fonction moment et cela ne fonctionne toujours pas.
Voici l'erreur d'avertissement:
Avertissement de dépréciation: la valeur fournie n'est pas dans un format ISO reconnu. moment construction revient à js Date (), qui n'est pas fiable sur tous les navigateurs et toutes les versions. Les formats de date non ISO sont déconseillés et seront supprimés dans une prochaine version majeure. Veuillez consulter http://momentjs.com/guides/#/warnings/js-date/ pour plus d'informations. Arguments: [0] _isAMomentObject: true, _isUTC: true, _useUTC: true, _l: undefined, _i: 2016-9-26 19:30, _f: undefined, _strict: undefined, _locale: [object Object]
var entryDate = new Date();
var currentDate = entryDate.getDate();
function between(x, min, max) {
return x.valueOf() >= min.valueOf() && x < max.valueOf();
}
$('#custom1').change(function () {
if ($('#custom1 :selected').val() == 'AU') {
var keyword = '';
var aus1_s = moment.tz('2016-9-26 19:30', 'Australia/Sydney');
var aus2_s = moment.tz('2016-10-2 19:30', 'Australia/Sydney');
var aus3_s = moment.tz('2016-10-9 19:30', 'Australia/Sydney');
var aus4_s = moment.tz('2016-10-16 19:30', 'Australia/Sydney');
var aus5_s = moment.tz('2016-10-23 19:30', 'Australia/Sydney');
var aus6_s = moment.tz('2016-10-30 19:30', 'Australia/Sydney');
var aus6_e = moment.tz('2016-11-5 19:30', 'Australia/Sydney');
} else if ($('#custom1 :selected').val() == 'NZ') {
var aus1_s = moment.tz('2016-9-28 20:30', 'Pacific/Auckland');
var aus2_s = moment.tz('2016-10-4 20:30', 'Pacific/Auckland');
var aus3_s = moment.tz('2016-10-11 20:30', 'Pacific/Auckland');
var aus4_s = moment.tz('2016-10-18 20:30', 'Pacific/Auckland');
var aus5_s = moment.tz('2016-10-25 20:30', 'Pacific/Auckland');
var aus6_s = moment.tz('2016-11-2 20:30', 'Pacific/Auckland');
var aus6_e = moment.tz('2016-11-9 20:30', 'Pacific/Auckland');
} else {
$('#entryEquals').val('');
return false;
}
var today = moment();
switch (true) {
case between(today, aus1_s, aus2_s):
keyword = 'RElYT04=';
break;
case between(today, aus2_s, aus3_s):
keyword = 'QlJJREU=';
break;
case between(today, aus3_s, aus4_s):
keyword = 'U1lETkVZ';
break;
case between(today, aus4_s, aus5_s):
keyword = 'R1JPT00=';
break;
case between(today, aus5_s, aus6_s):
keyword = 'V0VERElORw==';
break;
case between(today, aus6_s, aus6_e):
keyword = 'VExD';
break;
default:
$('#entryEquals').val('');
break;
}
$('#entryEquals').val(keyword);
});
la source
'2016-9-26 19:30'
un format ISO reconnu et que ce n'est pas un format ISO reconnumoment.tz('2016-9-28 20:30', 'YYYY-M-D H:mm', 'Pacific/Auckland');
selon la documentation ... cela acceptera 1 ou 2 chiffres des mois et des jours, 1 ou 2 chiffres des heures au format 24 heuresRéponses:
Découvrez toute leur superbe documentation!
Voici où ils discutent du message d'avertissement .
Chaîne + Format
Chaîne + Formats (plusieurs formats)
Si vous avez plus d'un format, vérifiez leur chaîne + formats (avec un «s»).
Veuillez consulter la documentation pour plus d'informations.
Fuseau horaire
Checkout Parsing in Zone , la documentation équivalente pour les fuseaux horaires.
ÉDITER
la source
Faire cela fonctionne pour moi:
la source
J'ai rencontré cette erreur parce que j'essayais de transmettre une date de
localStorage
. Passer la date dans un nouvelDate
objet, puis appeler .toISOString () a fait l'affaire pour moi:Cela a supprimé tous les avertissements dans la console.
la source
utilisez le moment dans votre fonction comme ceci
la source
Cette réponse est de donner une meilleure compréhension de cet avertissement
Avertissement Obsolescence est causée lorsque vous utilisez moment pour créer un objet de temps,
var today = moment();
.Si cet avertissement vous convient, j'ai une méthode plus simple.
N'utilisez pas d'
date
objet d'js
utilisation à lamoment
place. Par exemple, utilisezmoment()
pour obtenir la date actuelle.Ou convertissez l'
js
objet demoment
date en date. Vous pouvez simplement le faire en spécifiant le format de votrejs
objet de date.c'est à dire,
moment("js date", "js date format");
par exemple:
(MAIS VOUS NE POUVEZ UTILISER CETTE MÉTHODE QUE JUSQU'À CE QU'ELLE SOIT DÉPRÉCIÉE, cela pourrait être déprécié
moment
à l'avenir)la source
if
condition a échoué. Vous devez quitter la réponse et ne pas continuer.Vous pouvez utiliser
Cela devrait être utilisé lorsque la date n'est pas au format ISO car cela indiquera à l'instant quel est notre format actuel.
la source
Analyse de la chaîne avec moment.js.
la source