Я работаю над школьным проектом, где я отслеживаю частоту твитов пользователя в неделю. У меня есть рабочий код, но в конце каждого 1-недельного периода мне нужно вручную корректировать новый начальный итог твита и дату одной недели в будущем.
Как я могу автоматизировать его, чтобы итоговое количество твитов стало новым начальным количеством твитов, а одна неделя была добавлена к дате окончания? Я двигаюсь в правильном направлении с кодом ниже, или я должен сохранить эти итоговые итоговые значения в базе данных? Спасибо!
// Get current tweet total and calculate current count
$ptTotal = $ptObject->{'statuses_count'};
$ptStart = 572;
$ptCount = ($ptTotal-$ptStart);
// Set end date & convert to EST
$ptdatestr="2017-05-30 12:00:00";
$ptdate=strtotime($ptdatestr)+14400;
// Calculate time remaining
$ptdiff=$ptdate-time();
$ptdays=floor($ptdiff/86400);
$pthours=round(($ptdiff-$ptdays*86400)/3600);
// Re-set start value and add one week to countdown
if ($ptdiff <= 0) {
$ptStart = $ptTotal;
$ptdate = $ptDate + 604800;
}
Я говорю, независимо от того, как вы автоматизируете этот блок кода (см. Комментарий Алехандро), вы должны отказаться от использования любого подхода, который включает +86400
(или фактор). Ночью, когда речь идет о переходе на летнее время, дела идут наперекосяк.
Вместо этого я рекомендую вам интегрировать Объекты DateTime. Они очень универсальны и имеют специфические особенности, которые помогут вам в вашем конкретном проекте. Это полный список связанных функций: http://php.net/manual/en/book.datetime.php
Реализация объектов и функций Datetime сделает ваш проект солидным и стройным. Погрузитесь в страницы руководства php и комментарии к ним; и продолжить исследования по StackOverflow.
Больше на ваши конкретные вопросы: Да, я думаю, что вы на правильном пути. Да, я думаю, что я буду хранить данные в базе данных.
Удачи.
Других решений пока нет …