简单的日历 - 天+小时

时间:2011-12-22 09:56:19

标签: php datetime date loops

$columns = array('mon','thu','wed','tue', 'fri', 'sat', 'sun');
$num_cols = count($columns);
echo "<table>";
echo "<tr>";
foreach($columns as $col)
{
   echo "<td>$col</td>";
   for($i=1;$i<20;$i++)
{
    echo "<tr>";
    $datetime = new DateTime();
    for($j=0;$j<$num_cols;$j++){
        $datetime->modify('+30 minutes');

        echo '<td>' . $datetime->format('H:i:s') . '</td>';
    }

    echo "</tr>";
 }
}
echo "</tr>";

echo "</table>";

我如何修改:

mon      |   thu     etc
10:10:10 | 10:10:10
10:40:10 | 10:40:10
11:10:10 | 11:10:10
etc

现在这工作糟糕了。我想创建简单的日历。这为我创造了一天的许多小时。 谢谢你的帮助!

编辑: 如果这只是我只能使用一个循环 - 小时 - 没有$列。但是我该怎么做呢?

我想收到:

10:10:10 | 10:10:10 etc
10:40:10 | 10:40:10
11:10:10 | 11:10:10
etc

$ datetime-&gt;格式('Ymd H:i:s') :)我不知道我怎么能显示这是列 - 从上到下,而不是从左到右

1 个答案:

答案 0 :(得分:2)

<?php

$columns = array('mon','thu','wed','tue', 'fri', 'sat', 'sun');
$num_cols = count($columns);
$col = 0;
$datetime = new DateTime();

echo "<table>"; // border=\"1\" for visible border

// Day header
echo "<tr>";
foreach($columns as $col) {
    echo "<td>$col</td>";
}
echo "</tr>";


// Times
for($i=0; $i<20; $i++) { // FIXME for more entries or other step width
    echo "<tr>";
    $datetime->modify('+30 minutes');

    for ($j=0; $j<$num_cols; $j++)
        echo '<td>' . $datetime->format('H:i:s') . '</td>';

    echo "</tr>";
}

echo "</table>";

?>

Output