2014-09-16 2 views
-2

у меня есть вопрос относительно отдельный year c дата объект. Я просто узнал всякий раз, когда передаю String объекту DATE, тогда мои годы увеличиваются на 1 или 2. например.отдельный год с даты объект в JAVASCRIPT

var licenceStartDateConv = new Date(licenceStartDate); 
var licenceStartDateYear = licenceStartDateConv.getUTCFullYear(); 

когда я передать licenceStartDate = "13/08/2011", то функция возвращает мне licenceStartDateYear = Sun Jan 8 00:00:00 UTC+0500 2012 вместо 2011. почему это так?

может кто-то решить эту проблему? Я буду вам очень благодарен. Спасибо заранее.

+0

функция уже устарела, я искал много, то я пришел к выводу, чтобы задать вопрос. и вы дали отрицательный момент. –

+1

Имеется формат даты. Monrths превышают 12, поэтому год приближается 1. Попробуйте исправить формат даты. –

+0

Я не мог, потому что формат даты используется в Великобритании, это dd/mm/yyyy, где, как и в США, его mm/dd/yyyy –

ответ

1

Если вы используете формат «xx/yy/zzzz» для подачи строки даты на конструктор даты, он будет анализироваться как «мм/дд/гггг», как указал Ankit в исходном вопросе. Вам придется проанализировать строку даты, чтобы вывести День, Месяц и Год и создать объект Date, используя их.

Например:

// Parse the date using a regular expression. 
var dateFields = /(\d\d)\/(\d\d)\/(\d{4})/.exec("13/08/2011"); 
licenceStartDateConv = new Date(dateFields[3], dateFields[2]-1, dateFields[1]); // -1 on month to account for offset.