Я пытаюсь получить в функции номер текущей недели и года, а затем преобразовать его в формат с русским языком, для чего и добавил перевод месяцев и дней, чтобы выводилось так:
Понедельник, 25 ноября
Теперь я хочу, чтобы к полученному формату даты можно было прибавлять или отнимать дни, и использую strtotime(), но у меня не получается. Как в return вывести + 1 день от данного формата? Надеюсь, что доступно описал проблему.
Моя функция:
function thatWeekMon() {
$week_number = date("W");
$year = date("Y");
$months = [
1 => 'Января', 2 => 'Февраля', 3 => 'Марта', 4 => 'Апреля',
5 => 'Мая', 6 => 'Июня', 7 => 'Июля', 8 => 'Августа',
9 => 'Сентября', 10 => 'Октября', 11 => 'Ноября', 12 => 'Декабря'
];
$days = ["Sunday" => "Воскресенье", "Monday" => "Понедельник", "Tuesday" => "Вторник", "Wednesday" => "Среда", "Thursday" => "Четверг", "Friday" => "Пятница", "Saturday" => "Суббота"];
$d = strtotime("+1 days");
$first_day = $days[date('l', ($week_number-1) * 7 * 86400 + strtotime('1/1/' . $year) - date('w', strtotime('1/1/' . $year)) * 86400 + 86400)];
$first_day1 = date('d', ($week_number-1) * 7 * 86400 + strtotime('1/1/' . $year) - date('w', strtotime('1/1/' . $year)) * 86400 + 86400);
$first_day2 = $months[date('m', ($week_number-1) * 7 * 86400 + strtotime('1/1/' . $year) - date('w', strtotime('1/1/' . $year)) * 86400 + 86400)];
return date("$first_day, $first_day1 $first_day2", $d);
}
Подскажите, пожалуйста, в чем может быть дело или как переписать ее?
Дату на русском языке не сможет распарсить ни date()
, ни DateTime::createFromFormat()
, поэтому вам сначала нужно прибавить нужное количество дней, а потом уже переводить дату на другой язык. Вы можете это сделать, например, с помощью метода add()
класса DateTime:
$date = new DateTime('2019-11-25');
$date->add(new DateInterval('P1D'));
$result = $date->format('l, d F'); // Tuesday, 26 November
Подробная информация в документации:
В моем случае сработал такой вариант:
function beed($add=0) {
$months = [
1 => 'Января', 2 => 'Февраля', 3 => 'Марта', 4 => 'Апреля',
5 => 'Мая', 6 => 'Июня', 7 => 'Июля', 8 => 'Августа',
9 => 'Сентября', 10 => 'Октября', 11 => 'Ноября', 12 => 'Декабря'];
$days = ["Sunday" => "Воскресенье", "Monday" => "Понедельник", "Tuesday" => "Вторник", "Wednesday" => "Среда", "Thursday" => "Четверг", "Friday" => "Пятница", "Saturday" => "Суббота"];
$r = date('l');
$t = $days[date('l', strtotime("Monday +$add days"))];
$r1 = date('d');
$t1 = date('d', strtotime("Monday +$add days"));
$r2 = date('m');
$t2 = $months[date('m', strtotime("Monday +$add days"))];
return date("$t, $t1 $t2");
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Появилась задача, сделать демона, который будет выполнять задачи по расписаниюСначала я думал все эти задачи сохранять в таблицу и демон...
Ну тоесть, мне нужно, если пользователь отправить фото, то бот его скачает, и сохранит, как такое реализовать?
Помогите пожалуйста почему не работаетОшибка - Информация не занесена в базу данных