Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Сравнение даты


Автор: Janita 20.2.2005, 15:22
Плиз, скажите как написать скрипт, который удаляет пробельные символы в начеле и конце строки, и скрипт, который берет дату, в виде строки dd.mm.yyyy и говорит сегодняшняя она или нет?

почему не работает такое:
function trim(str){
s1= new String(str);
alert (s1.replace(/^\s+/, '').replace(/\s+$/, ''));
}

Автор: Sardar 10.3.2005, 21:31
Janita функция trim написанна правильно, может ты просто не заметила результатов smile

Простейший код для сравнения даты:
Код
function isToday(strdt) {
  var rt=strdt.split(".");
  var d=new Date(rt[2], rt[1]-1, rt[0]); //месяц начинается с 0
  var r=((new Date()).getTime() - d.getTime())/(1000*60*60*24); //убираем миллисекунды, дни...
  return Math.floor(r)==0; //если различий нет
}

alert(isToday("10.3.2005"));

Автор: Гость_Дмитрий 21.3.2005, 08:57
Товарищи как на JS сравнить два строковых значения в которых находяться даты между собой, именно как даты ?

Заранее благодарю!!!

Автор: batigoal 21.3.2005, 12:16
Нужно сначала пропарсить строки в даты. Например, у меня была такая ситуация: из формата yyyymmdd конвертнуть в дату и проверить, чтобы между ними было не больше года.

Код

function parseDate(str)
{
    var year = str.slice(0,4);
    var month = str.slice(4,6);
    var day = str.slice(6,8);
    var d = new Date(year, month, day);
    return d;
}
function checkDates(id)
{
var dFrom = parseDate(FromIds[fromInd]);
var dTo = parseDate(ToIds[toInd]);

var dif = new Date(dTo-dFrom);
if(dif.getTime()>360*24*60*60*1000)
{
    // действия...
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)