Я пытаюсь создать массив, начиная с сегодняшнего дня, и возвращаться к последним 30 дням с PHP, и у меня возникают проблемы. Я могу оценить, но я не знаю, как это сделать, и учитывая количество дней в предыдущем месяце и т. Д. Есть ли у кого-нибудь хорошее решение? Я не могу приблизиться, но я должен убедиться, что он на 100% точным.Создание массива последних 30 дней с использованием PHP
9
A
ответ
28
Попробуйте это:
<?php
$d = array();
for($i = 0; $i < 30; $i++)
$d[] = date("d", strtotime('-'. $i .' days'));
?>
0
Вы можете использовать время, чтобы контролировать дни:
for ($i = 0; $i < 30; $i++)
{
$timestamp = time();
$tm = 86400 * $i; // 60 * 60 * 24 = 86400 = 1 day in seconds
$tm = $timestamp - $tm;
$the_date = date("m/d/Y", $tm);
}
Теперь внутри для цикла вы можете использовать переменную $ the_date для любой цели, вы можете , :-)
0
$d = array();
for($i = 0; $i < 30; $i++)
array_unshift($d,strtotime('-'. $i .' days'));
0
Для тех, кто хочет показать продаж за последние Х дней,
As asked in this closed question (https://stackoverflow.com/questions/11193191/how-to-get-last-7-days-using-php#=), это работает для меня.
$sales = Sale::find_all();//the sales object or array
for($i=0; $i<7; $i++){
$sale_sum = 0; //sum of sale initial
if($i==0){
$day = strtotime("today");
} else {
$day = strtotime("$i days ago");
}
$thisDayInWords = strftime("%A", $day);
foreach($sales as $sale){
$date = strtotime($sale->date_of_sale)); //May 30th 2018 10:00:00 AM
$dateInWords = strftime("%A", $date);
if($dateInWords == $thisDayInWords){
$sale_sum += $sale->total_sale;//add only sales of this date... or whatever
}
}
//display the results of each day's sale
echo $thisDayInWords."-".$sale_sum; ?>
}
Перед тем, как сердятся: Я поместил этот ответ здесь, чтобы помочь кому-то, кто был направлен сюда из этого вопроса. Не могу ответить там :(
Смежные вопросы
- 1. Получение последних 30 дней записей
- 2. отображение последних 30 дней с данными из таблицы
- 3. DATEADD с CodeIgniter, чтобы получить запись последних 30 дней
- 4. Магазин 30 дней MySQLDump с использованием оболочки
- 5. Получит +30 дней с отметкой времени (PHP)
- 6. Создание обратного отсчета за 30 дней
- 7. MySQL Выберите из последних 30 дней, не выбирая сегодняшние результаты
- 8. DATEADD не работает в течение последних 30 дней
- 9. Caml Query для получения последних данных за 30 дней
- 10. набор даты начала и окончания в течение последних 30 дней, заканчивающихся сегодня с PHP
- 11. Получить записи за последние 30 дней с использованием временных меток
- 12. Рельсы тока + последние 30 дней
- 13. BIQQUERY - Summing previews 30 дней
- 14. php рассчитать последние сборы каждые 30 дней
- 15. Истекает до 30 дней
- 16. Mysql - Последние 30 дней
- 17. mysql и 30 дней
- 18. Уменьшить диапазон дат до массива последних дней каждого месяца?
- 19. Создание dir с использованием массива в PHP
- 20. фрагмент кода для получения YMD в течение последних 30 дней - PHP
- 21. Последние 30 дней данных
- 22. Получить месяц 30 дней
- 23. Добавить 30 дней до даты
- 24. php database - хранение 30 дней данных для каждого пользователя
- 25. дней Доставка в городах с использованием массива() PHP
- 26. delete catalina. *. Log старше 30 дней с использованием logrotate
- 27. Почтовые файлы старше 30 дней с использованием 7zip
- 28. Как выбрать последние 30 дней в MySQL?
- 29. php count количество месяцев с разницей менее 30 дней
- 30. jQuery даты флота последних дней
Я думаю, что вы предназначались для даты, которая должна быть назначена $ d [i], а не $ d []. – Matt 2008-12-03 19:08:26
Мэтт: Нет $ d [] лучше. – OIS 2008-12-04 12:13:25