1

私のプロジェクトでは、「06.00」、「06:15」などのデータベースで 15 分ごとの時間間隔が必要です。タイム テーブルには time_id と time_interval 列があります。時間間隔をデータベースに文字列として保持し、全員に ID を付与したいと考えています。

以下のクエリを書きました。

mysql_query("INSERT INTO time(time_interval) VALUES('06:00'),('06:15'),('06:30') ...");

簡単な方法があるはずですが。私はそれをたくさんグーグルで検索しましたが、何も機能していないようです。では、どうすればこれを簡単に行うことができますか?

4

1 に答える 1

3

DateTimeを使用して、2 つの時間の間のすべての時間を取得できます。

$dt1 = new DateTime('06:00 UTC');
$dt2 = new DateTime('16:00 UTC');

$values = array();
while ($dt1 <= $dt2) {
    $values[] = $dt1->format("('H:i')");
    $dt1->modify('+15 minute');
}

そして、その配列を使用してクエリを作成できます。

$sql = "INSERT INTO time(time_interval) VALUES " . implode(', ', $values);
print_r($sql);

デモ

于 2013-11-13T22:48:22.253 に答える