From: Iskren Chernev Date: Fri, 27 Dec 2013 19:12:16 +0000 (+0100) Subject: Fix IE8 bug X-Git-Tag: 2.5.1~18^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c027289e38dc2d5dfe69920ec91a09e7fc02471c;p=thirdparty%2Fmoment.git Fix IE8 bug --- diff --git a/moment.js b/moment.js index f62ca4baa..5292c5ad4 100644 --- a/moment.js +++ b/moment.js @@ -71,7 +71,7 @@ ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/], ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/], ['GGGG-[W]WW', /\d{4}-W\d{2}/], - ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-DDD', /\d{4}-\d{3}/] ], // iso time formats and regexes @@ -367,7 +367,7 @@ // left zero fill a number // see http://jsperf.com/left-zero-filling for performance comparison function leftZeroFill(number, targetLength, forceSign) { - var output = Math.abs(number) + '', + var output = '' + Math.abs(number), sign = number >= 0; while (output.length < targetLength) { @@ -1497,11 +1497,7 @@ //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) { - // The only solid way to create an iso date from year is to use - // a string format (Date.UTC handles only years > 1900). Don't ask why - // it doesn't need Z at the end. - var d = new Date(leftZeroFill(year, 6, true) + '-01-01').getUTCDay(), - daysToAdd, dayOfYear; + var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear; weekday = weekday != null ? weekday : firstDayOfWeek; daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0); diff --git a/test/moment/is_valid.js b/test/moment/is_valid.js index f805e59eb..728a2b949 100644 --- a/test/moment/is_valid.js +++ b/test/moment/is_valid.js @@ -259,5 +259,5 @@ exports.is_valid = { test.ok(moment("3:25", ["h:mma", "hh:mma", "H:mm", "HH:mm"]).isValid()); test.done(); - }, + } };