2012-01-10 19 views
1

Есть ли способ генерировать все строки даты между двумя временными метками? Например, у меня есть ранняя временная метка и последняя временная метка 1303887600(2011-04-27T00:00:00-07:00), 1325318400(2011-12-31T00:00:00-08:00), поэтому я хочу от 2011-04-27 до 2011-12-31.Создать строку даты в PHP

Если вы используете цикл for для преобразования временной отметки на сегодняшний день, есть переход между летним временем.

+0

Да конечно! Но, пожалуйста, попробуйте сами, прежде чем спросить thx. – noob

+3

Возможный дубликат [PHP: возврат всех дат между двумя датами в массиве] (http://stackoverflow.com/questions/4312439/php-return-all-dates-between-two-dates-in-an-array) – JJJ

+1

Возможный дубликат [PHP. Есть ли простой способ петли между двумя датами и заполнить отсутствующие значения?] (Http://stackoverflow.com/questions/8755650/php-is-there-a-simple-way-to -loop-between-two-dates-and-fill-in-missing-values) –

ответ

1

Попробуйте что-то вроде этого

$temp_date = $start_date; 
While($temp_date <= $end_date) 
{ 
    print date("d-m-Y", strtotime($temp_date)) 
    $temp_date = $temp_date + 1 day; 
} 
-1
for($i=1303887600;$i<=1325318400;$i++) echo date(DATE_ATOM,$i) . "<br />"; 
-1
$startDate = DateTime::createFromFormat("Y/m/d","2010/12/24",new DateTimeZone("Europe/London")); 
$endDate = DateTime::createFromFormat("Y/m/d","2012/01/05",new DateTimeZone("Europe/London")); 

$periodInterval = new DateInterval("P1D"); // 1-day, though can be more sophisticated rule 
$endDate->add($periodInterval); 
$period = new DatePeriod($startDate, $periodInterval, $endDate); 

foreach($period as $date){ 
    echo $date->format("Y-m-d") , PHP_EOL; 
} 
+0

Markdown почему? Я неправильно понял вопрос? –

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