2014-10-24 14 views
-5

Мне нужен скрипт для генерации тысяч строк даты с часовым интервалом. (например, 24/10/14 12:00:00, 24/10/14 13:00:00 и т. д. и т. д.) Спасибо заранее.PHP datetime почасовой интервал

$updatedDateTimeList = array(); 
$dateTimeList=array("2014-10-01 00:00:00","2014-11-01 00:00:00"); 
foreach ($dateTimeList as $dateTime) 
{ 
    $time = substr($dateTime, 11); 
    if (substr($time, 0, 2) < 24) 
    { 
     $updatedDateTimeList[] = substr($dateTime, 0, 11) + (substr($time, 0, 2) +    1) + substr($dateTime, 13); 
    } else { 
     $updatedDateTimeList[] = substr($dateTime, 0, 8) + (substr($dateTime, 8, 2) + 1             ) + " 00" + substr($dateTime, 13); 
    } 
} 
+0

Посмотрите [DateTime :: изменить()] (http://php.net/manual/en/datetime.modify.php) – Havelock

ответ

0

Вы можете установить STARTDATE и ENDDATE пределы ана, начиная с даты начала в цикле в то время как вы можете добавить 1 час на каждый проход. Проверьте следующий код.

$updatedDateTimeList = array(); 
$startdate = date("Y-m-d H:i:s",strtotime ("2014-10-01 00:00:00")); 
$enddate = date("Y-m-d H:i:s",strtotime ("2014-11-01 00:00:00")); 
$updatedDateTimeList[] = $startdate; //store the first value 
while ($startdate < $enddate) 
{ 
    $startdate = strtotime($startdate)+3600; //add one hour to $startdate 
    $startdate = date("Y-m-d H:i:s", $startdate); 
    $updatedDateTimeList[] = $startdate; // store to the array 
} 

print_r($updatedDateTimeList); 
+0

Спасибо так много чувак. Когда я заполняю базу данных, мое другое поле (температура) больше не рандомизировано. Любая идея почему? для ($ x = 0; $ x <= 5; $ x ++) { \t $ min = 25; \t $ max = 34; \t $ temp = rand ($ min, $ max); \t \t $ myArray = array ("cck", "amk"); \t shuffle ($ myArray); \t $ location = $ myArray [0]; –

+0

Кусок кода для значения $ temp кажется прекрасным. Возможно, задайте новый вопрос, предоставляя еще несколько комментариев. Для первоначального вопроса, если мой ответ решит вашу проблему, отметьте его как принятый. – geoandri

Смежные вопросы