$line['Дата контакта']=date("Y-m-d H:i:s", mktime(0,0,0,date("m"),date("d"),date("Y"),date("H"),date("i")+1,date("s")));Так видимо некорректно,поле обнуляется
1
Увеличение часов в дате
Автор Dinara, 26 мая 2014 10:02
Сообщений в теме: 7
#1
Отправлено 26 Май 2014 - 10:02
Как правильно прописать-чтобы в поле проставилась текущая дата+1 час?
#2
Отправлено 26 Май 2014 - 10:16
$line['Дата контакта'] = date("Y-m-d H:i:s", mktime(date("H")+1,date("i"),date("s"),date("n"),date("j"),date("Y")));
Описание функции mktime
Там кстати написано что можно опускать аргументы справа, если они равны текущим времени/дате. Поэтому можно и так:
$line['Дата контакта'] = date("Y-m-d H:i:s", mktime(date("H")+1));
#3
Отправлено 26 Май 2014 - 10:59
Благодарю)))))
#4
Отправлено 02 Сентябрь 2015 - 18:58
$novd = date("d.m.Y", mktime(date("m")+1));
$tekd = date("d.m.Y");
if ($novd > $tekd) {
$line['Текст заявки'] = 'получилось!';
}
else {
$line['Текст заявки'] = 'не получилось';
}
у меня постоянно выдает "не получилось". В чем причина?
$tekd = date("d.m.Y");
if ($novd > $tekd) {
$line['Текст заявки'] = 'получилось!';
}
else {
$line['Текст заявки'] = 'не получилось';
}
у меня постоянно выдает "не получилось". В чем причина?
#5
Отправлено 03 Сентябрь 2015 - 09:22
В том, что вы сравниваете строки, а не "даты", как вам кажется. В PHP нет отдельного типа "дата", есть числовое или строковое представление дат. В данном случае, для разных месяцев или годов у вас будет неверное условие, например "01.02.2015" будет меньше чем "31.01.2015" (хотя по смыслу должно быть наоборот), т.к. идет посимвольное сравнение строк. Если вы хотите корректного сравнения, то строковое представление должно быть иным, адекватным старшинству частей даты, например:
$novd = date("Y-m-d", mktime(date("m")+1)); $tekd = date("Y-m-d"); if ($novd > $tekd) { $line['Текст заявки'] = 'получилось!'; } else { $line['Текст заявки'] = 'не получилось'; }
#6
Отправлено 03 Сентябрь 2015 - 10:21
Спасибо за совет по корректному сравнению!
Проблема еще в том, что в коде:
Вроде как функцию правильно использую
Проблема еще в том, что в коде:
$novd = date("Y-m-d", mktime(date("m")+1));месяц не изменяется.
Вроде как функцию правильно использую
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных