
No.2ベストアンサー
- 回答日時:
#1の方のアルゴリズムで全く問題ないのですが、
strtotimeは日本人の私には扱いづらいので、
mktimeを良く使っています。
<?php
// 入力データ
$start = "2005/06/29";
$end = "2005/07/02";
// UNIXタイムスタンプ取得
list($sy,$sm,$sd) = explode("/",$start);
list($ey,$em,$ed) = explode("/",$end);
$su = mktime(0,0,0,$sm,$sd,$sy);
$eu = mktime(0,0,0,$em,$ed,$ey);
// 1日の秒数
$sec = 60 * 60 * 24;// 60秒 × 60分 × 24時間
// 日付取得
$key = 0;
for ( $i = $su;$i <= $eu;$i += $sec ) {
$dates[$key] = date("Y/m/d",$i);
$key ++;
}
// 表示
print_r($dates);
?>
以上、ご参考までに。
この回答へのお礼
お礼日時:2005/06/21 14:49
サンプルまで作成していただきありがとうございます。
こちらでは
mkdateを使用して通算秒数に変換しているという事
ですね。
ループが簡潔にできていてこんな事が出来るのかと
驚いています。
予想以上に簡単に出来ました。ありがとうございます。
No.1
- 回答日時:
時間が無いので、方法論だけ書きます。
1)strtotime関数を使って、開始日の通算秒を取得します。
2)1日は86400秒ですから、取得した通算秒に86400を足していくと、1日ずつ日付がずれていきます。
3)86400足すたびに、date関数を使って、日付文字列を取得します。
4)通算秒が、終了日の数値に追いつくまで、この処理を繰り返します。
と、こんな感じではないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
sqlで日付が一番古いデータの月...
-
5
プロキシ経由で画像を保存したい
-
6
phpでキーワードのマッチング処理
-
7
phpの二次元配列の値をランダム...
-
8
現在の観覧人数を表示したい
-
9
Java のクラスには修飾子がある...
-
10
別ファイルの変数を呼び出した...
-
11
Subversionのリポジトリの削除
-
12
現在位置より2つ上のディレク...
-
13
PHPのif文でその処理を途中で抜...
-
14
PHPで複数ファイルのダウン...
-
15
フォントの色を変えるには?
-
16
【file_exists】ファイルが存在...
-
17
FTPコマンドでディレクトリごと...
-
18
「クラス関数」「メンバ関数」...
-
19
mysql複数レコードをまとめて削...
-
20
Visual C++ 2005 Express Editi...
おすすめ情報
公式facebook
公式twitter