我得到一个警告,提供给moment的值不是公认的ISO格式。今天我用矩函数改变了变量,但它仍然不起作用。
下面是警告错误:
Deprecation warning: value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
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);
});
看看他们所有令人敬畏的文档吧!
这里是他们讨论警告信息的地方。
字符串+格式
警告:浏览器对解析字符串的支持不一致。因为没有关于应该支持哪些格式的规范,所以在某些浏览器中有效的内容在其他浏览器中并不适用。
为了在解析除ISO 8601字符串以外的任何字符串时得到一致的结果,您应该使用字符串+格式。
moment("12-25-1995", "MM-DD-YYYY");
字符串+格式(多种格式)
如果你有不止一种格式,检查他们的字符串+格式(有's')。
如果您不知道输入字符串的确切格式,但知道它可能是许多格式中的一种,则可以使用格式数组。
moment("12-25-1995", ["MM-DD-YYYY", "YYYY-MM-DD"]);
请查看文件以了解更具体的信息。
时区
查看“在区域中解析”,这是时区的等效文档。
这一时刻。Tz构造函数接受与moment构造函数相同的所有参数,但使用最后一个参数作为时区标识符。
var b = moment.tz("May 12th 2014 8PM", "MMM Do YYYY hA", "America/Toronto");
EDIT
//...
var dateFormat = "YYYY-M-D H:m"; //<-------- This part will get rid of the warning.
var aus1_s, aus2_s, aus3_s, aus4_s, aus5_s, aus6_s, aus6_e;
if ($("#custom1 :selected").val() == "AU" ) {
var region = 'Australia/Sydney';
aus1_s = moment.tz('2016-9-26 19:30', dateFormat, region);
aus2_s = moment.tz('2016-10-2 19:30', dateFormat, region);
aus3_s = moment.tz('2016-10-9 19:30', dateFormat, region);
aus4_s = moment.tz('2016-10-16 19:30', dateFormat, region);
aus5_s = moment.tz('2016-10-23 19:30', dateFormat, region);
aus6_s = moment.tz('2016-10-30 19:30', dateFormat, region);
aus6_e = moment.tz('2016-11-5 19:30', dateFormat, region);
} else if ($("#custom1 :selected").val() == "NZ" ) {
var region = 'Pacific/Auckland';
aus1_s = moment.tz('2016-9-28 20:30', dateFormat, region);
aus2_s = moment.tz('2016-10-4 20:30', dateFormat, region);
aus3_s = moment.tz('2016-10-11 20:30', dateFormat, region);
aus4_s = moment.tz('2016-10-18 20:30', dateFormat, region);
aus5_s = moment.tz('2016-10-25 20:30', dateFormat, region);
aus6_s = moment.tz('2016-11-2 20:30', dateFormat, region);
aus6_e = moment.tz('2016-11-9 20:30', dateFormat, region);
}
//...
看看他们所有令人敬畏的文档吧!
这里是他们讨论警告信息的地方。
字符串+格式
警告:浏览器对解析字符串的支持不一致。因为没有关于应该支持哪些格式的规范,所以在某些浏览器中有效的内容在其他浏览器中并不适用。
为了在解析除ISO 8601字符串以外的任何字符串时得到一致的结果,您应该使用字符串+格式。
moment("12-25-1995", "MM-DD-YYYY");
字符串+格式(多种格式)
如果你有不止一种格式,检查他们的字符串+格式(有's')。
如果您不知道输入字符串的确切格式,但知道它可能是许多格式中的一种,则可以使用格式数组。
moment("12-25-1995", ["MM-DD-YYYY", "YYYY-MM-DD"]);
请查看文件以了解更具体的信息。
时区
查看“在区域中解析”,这是时区的等效文档。
这一时刻。Tz构造函数接受与moment构造函数相同的所有参数,但使用最后一个参数作为时区标识符。
var b = moment.tz("May 12th 2014 8PM", "MMM Do YYYY hA", "America/Toronto");
EDIT
//...
var dateFormat = "YYYY-M-D H:m"; //<-------- This part will get rid of the warning.
var aus1_s, aus2_s, aus3_s, aus4_s, aus5_s, aus6_s, aus6_e;
if ($("#custom1 :selected").val() == "AU" ) {
var region = 'Australia/Sydney';
aus1_s = moment.tz('2016-9-26 19:30', dateFormat, region);
aus2_s = moment.tz('2016-10-2 19:30', dateFormat, region);
aus3_s = moment.tz('2016-10-9 19:30', dateFormat, region);
aus4_s = moment.tz('2016-10-16 19:30', dateFormat, region);
aus5_s = moment.tz('2016-10-23 19:30', dateFormat, region);
aus6_s = moment.tz('2016-10-30 19:30', dateFormat, region);
aus6_e = moment.tz('2016-11-5 19:30', dateFormat, region);
} else if ($("#custom1 :selected").val() == "NZ" ) {
var region = 'Pacific/Auckland';
aus1_s = moment.tz('2016-9-28 20:30', dateFormat, region);
aus2_s = moment.tz('2016-10-4 20:30', dateFormat, region);
aus3_s = moment.tz('2016-10-11 20:30', dateFormat, region);
aus4_s = moment.tz('2016-10-18 20:30', dateFormat, region);
aus5_s = moment.tz('2016-10-25 20:30', dateFormat, region);
aus6_s = moment.tz('2016-11-2 20:30', dateFormat, region);
aus6_e = moment.tz('2016-11-9 20:30', dateFormat, region);
}
//...