2015-04-22 2 views
-1

Привет, я сделал формат даты в jquery ajax. Я получил значение из базы данных, и я преобразовал dateformat как dd-MM-YYYY. теперь проблема в том, i m получение в предыдущем месяце. Пример: значение базы данных - 2015-04-02, после преобразования dateformat я получил 02-03-2015. Пожалуйста, помогите мне. Мое кодирование.Проблемы с датой в jquery ajax

var pcd_date = new Date(data.pcd_date), 
yr = pcd_date.getFullYear(), 
month = +pcd_date.getMonth() < 10 ? '0' + pcd_date.getMonth() : pcd_date.getMonth() , 
day = +pcd_date.getDate() < 10 ? '0' + pcd_date.getDate() : pcd_date.getDate(), 
pcddate = day + '-' + month + '-' + yr; 

ответ

3

Это дает результат в диапазоне от 0 до 11.

От w3school:

getMonth() метод возвращает месяц (от 0 до 11) для указанной даты, по местному времени.

Вы должны добавить 1 к getMonth() иметь его от 1 до 12 следующим образом:

var pcd_date = new Date(data.pcd_date), 
yr = pcd_date.getFullYear(), 
month = +(pcd_date.getMonth() +1) < 10 ? '0' + (pcd_date.getMonth() +1) : (pcd_date.getMonth() +1), 
day = +pcd_date.getDate() < 10 ? '0' + pcd_date.getDate() : pcd_date.getDate(), 
pcddate = day + '-' + month + '-' + yr; 

или делать это один раз:

var pcd_date = new Date(data.pcd_date), 
yr = pcd_date.getFullYear(), 
m = pcd_date.getMonth() +1, 
month = +m < 10 ? '0' + m : m, 
day = +pcd_date.getDate() < 10 ? '0' + pcd_date.getDate() : pcd_date.getDate(), 
pcddate = day + '-' + month + '-' + yr; 
2

потому что getMonth() возвращение 0 основанная на стоимости

GE Метод tMonth() возвращает месяц в указанную дату в соответствии с местным временем, в качестве значения на основе нуля (где ноль указывает в первый месяц года).

var pcd_date = new Date(data.pcd_date), 
    yr = pcd_date.getFullYear(), 
    month = pcd_date.getMonth() + 1, 
    day = +pcd_date.getDate() < 10 ? '0' + pcd_date.getDate() : pcd_date.getDate(); 
month = month < 10 ? '0' + month : month 
var pcddate = day + '-' + month + '-' + yr; 
0

функция getMonth() возвращает диапазон между 0-11

Вам нужно добавить один перед сохранением.

1

Пожалуйста, замените код:

pcd_date.getMonth() 

в

pcd_date.getMonth() + 1 

Поскольку метод getMonth() возвращает месяц (от 0 до 11) для указанной даты, в соответствии с местным временем.

http://www.w3schools.com/jsref/jsref_getmonth.asp

Смежные вопросы