Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Дата в формате dd.mm.YYYY (https://javascript.ru/forum/misc/40599-data-v-formate-dd-mm-yyyy.html)

PunK_HS 12.08.2013 15:45

Дата в формате dd.mm.YYYY
 
Доброго времени суток!

Помогите с функцией:
function OnInsertFormValidate (fieldVAlues, errorInfo)
var date_start = new Date();
var date_end = new Date();
var days_start = 2;
var days_end = 4;
  
date_start.setTime(date_start.getTime() - (days_start * (1000 * 60 * 60 * 24)));
today_start =  date_start.getDate() + "." + ( date_start.getMonth() + 1 ) + "." + date_start.getFullYear();
    
date_end.setTime(date_end.getTime() + (days_end * (1000 * 60 * 60 * 24)));
today_end =  date_end.getDate() + "." + ( date_end.getMonth() + 1 ) + "." + date_end.getFullYear();

if ((fieldValues['DATE_OPERATIONS'] < (today_start)) || (fieldValues['DATE_OPERATIONS'] > (today_end)))
{
    errorInfo.SetMessage('Дата указана в неверном диапазоне'); 
    return false;
}
}

Если в переменную today_start попадает число в формате 12.8.2013 - все ок, а вот если 8.8.2013 - траблы... Руками прописываю "08.8.2013" - все супер. Как парсить today_start и today_end, так чтобы данные были только в формате dd.mm.YYYY ??

PunK_HS 13.08.2013 09:18

Ответ:
var start = -4,  // Дата начала периода
    end =  4;    // Дата окончания периода
 
function f (x) {return ((x < 10 ? '0' : '') + x)} 
var d = new Date ();
d.setDate (d.getDate () + start);
   var start_date = [f (d.getDate ()), f (d.getMonth () + 1), d.getFullYear ()].join ('.');
 
d.setDate (d.getDate () + end - start);
   var end_date = [f (d.getDate ()), f (d.getMonth () + 1), d.getFullYear ()].join ('.');
 
if ((fieldValues['DATE_OPERATIONS'] < (start_date)) || (fieldValues['DATE_OPERATIONS'] > (end_date)))
{
    errorInfo.SetMessage('Дата указана в неверном диапазоне!'); 
    return false;
}


Часовой пояс GMT +3, время: 19:38.