スレッド表示 | フラット表示〕 全トピック 920 件中 273 番目 次≫ ≪前

日付の計算なんですが

created: 2005-12-18 08:04 | modified: 2006-02-23 02:43 | reply: 3

[2831] 日付の計算なんですが

user: サヤ | created: 2005-12-18 08:04
FORMで入力された値が$inYear,$inManth,$inDayとあり、
年、月、日となりますが、今日の日付を求めて2日後の入力でなければエラーにしたいと思いますが、具体的にgmdate関数では旨く動作しません。
ご存知の方いらしたら教えて下さい。
reply: 2833 2834 2952 返信 編集 削除

[2833] Re.日付の計算なんですが

user: Pluto | created: 2005-12-19 09:55
gmdate()を使う理由はよくわかりませんが、本日の日付を求めるのであれば、date()で充分じゃないでしょうか?

// 日付の形式が「yyyymmdd」の場合

// 本日の日付
$now = date("Ymd");

// フォーム値から生成した比較対照の日付
$fdate = $_POST["inYear"] . sprintf("%02d", $_POST["inMonth"]) . sprintf("%02d", $_POST["inDay"]);

// 日付の差が2でなければエラー表示
if ($fdate - $now != 2) {
echo "ERROR";
}

フォーム値のチェックなんかは省いてあります。


> FORMで入力された値が$inYear,$inManth,$inDayとあり、
> 年、月、日となりますが、今日の日付を求めて2日後の入力でなければエラーにしたいと思いますが、具体的にgmdate関数では旨く動作しません。
> ご存知の方いらしたら教えて下さい。
Parent: 2831  返信 編集 削除

[2834] 目的や環境に依存しまくりです

user: ma | created: 2005-12-19 12:27
目的がいまいちつかめないので一般論になっちゃいますが、gmdate()は、Winで正常に機能しません。
なので時間がずれます。

参照)
http://jp.php.net/manual/ja/function.gmdate.php
Parent: 2831  返信 編集 削除

[2952] Re.日付の計算なんですが

user: 匿名 | created: 2006-02-23 02:43
私はgmdate関数はあまり使わないので
適切な回答かわかりませんが、
以下のような感じで実現できないでしょうかね?

コード書くのが面倒なのではしょりますが
$limit = mktime ( 今日+2日後 ) ; // 又は等価な処理
$in = mktime ( ユーザ入力値 ) ;

if ( $in < $limit ) {
// ユーザ入力値が2日以内なのでエラー
}

みたいな。
単純に年月日ベースで日の差を求めたとき、
月またぎ、年またぎで支障が出ます。

mktime についてはマニュアルを参照ください。
Parent: 2831  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 273 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑