【PHP】曜日と時間を検出して、いつまでに対応するかを表示する
営業時間中であれば、お問合わせいただいてから何分以内に対応しますよという文句を自動で表示したい。
デジカメが普及してからは見なくなりましたが、昔写真を現像してた頃、写真屋さんに
◆現在の時間
◆出来上がりの時間
って感じで2つ時計がありましたよね。そんなイメージのプログラムです。
ただ、営業時間が18:00までの写真屋さんに17:55にカメラを持ち込んでも出来上がり時間時計が示す、18:50とかに現像完了するわけでは無く、写真屋のおっちゃんから
「明日の10:00頃に取りに来てね」
って言われますよね。
それも含め、自動で表示出来るようにしました。
phpに関してはずぶの素人なのでダサいコードで恥ずかしいですが、戒めと覚書ということで記載しておきます。
※phpに限らずプログラム全般ほとんどできませんが。
動作のイメージとしては、
1.現在の時間と曜日取得
2.営業時間であればその時間から指定した時間(何分後)までに連絡しますと表示
3.営業時間外であれば翌営業日の何時までに連絡しますと表示
てな感じです。
<?php ////////////////条件入力//////////////// //営業時間設定(始業) $start = 9; //営業時間設定(終業) $end = 18; //お問合わせから対応までの時間(記入例:+X minutes +X hour) $timestamp = strtotime( "+30 minutes" ); //休日のお問合わせの翌営業日の対応時間(翌日の何時までに対応) $plustime = 10; ////////////////条件入力終了//////////////// ////////////////プログラム//////////////// //曜日番号取得0-6(日-土) $weekno = date('w'); //曜日番号が1以上5以下(月-金)で営業時間内なら if( $weekno >= 1 and $weekno <= 5 and date("H") >= $start and date("H") < $end ) { echo date("Y/m/d H:i",$timestamp). 'までに連絡'; } //曜日番号が1以上5以下(月-金)で営業時間以前ならその日のplustimeまでに連絡 if( $weekno >= 1 and $weekno <= 5 and date("H") < $start ) { echo date("Y/m/d {$plustime}:00"). 'までに連絡'; } //曜日番号が1以上4以下(月-木)で営業時間以降なら翌日のplustimeまでに連絡 if( $weekno >= 1 and $weekno <= 4 and date("H") >= $end ) { echo date("Y/m/d {$plustime}:00", strtotime("+1 day")). 'までに連絡'; } //曜日番号が5(金)で営業時間以降なら翌々々日(月)のplustimeまでに連絡 if( $weekno == 5 and date("H") >= $end ) { echo date("Y/m/d {$plustime}:00", strtotime("+3 day")). 'までに連絡'; } //曜日番号が0(日)なら翌日(月)のplustimeまでに連絡 if( $weekno == 0 ) { echo date("Y/m/d {$plustime}:00", strtotime("+1 day")). 'までに連絡'; } //曜日番号が6(土)なら翌々日(月)のplustimeまでに連絡 if( $weekno == 6 ) { echo date("Y/m/d {$plustime}:00", strtotime("+2 day")). 'までに連絡'; } ?>
ifの羅列でダサいんですが、プログラムの意味合いを分かりやすくするために作って見ました。
もっとこうしたほうが良いよ。ってか間違ってるよ(一応動作確認しましたが)あればご指摘いただければ幸いです。
リックテレコム
売り上げランキング: 1,213
関連記事
-
-
iPhone5水没 エクスプレス交換サービスで秒速で4,400円(税込)で新品に変わる~AppleCareにより~
今日も元気だ!お酒が旨い。 というわけで尿路結石の激痛で死にかけたのはどこ吹く風と暴飲暴食をし
-
-
lightbox(ライトボックス)のie9のバグの修正方法(って言っても新しいバージョン入れなおすだけ)
lightboxっていう無料のJavaScriptがあるの知ってますか? lightboxダウ
-
-
Dropbox proが1TBで1,200円/月(年払い12,000円)とかいうギャグで、クラウドでバックアップツールとして最強過ぎる件 世代管理もできるという
クラウドストレージの老舗Dropboxがギャグを展開中(笑) Dropbox / IN 30
-
-
「ssh port 変更 さくら 専用サーバ できない」 などのワードで検索引っかかってこい
ずーと前からさくらの専用サーバのsshのポートを22から変更しなくちゃ危ないって思っていたけど、人間
-
-
20年戦士のオンボロ愛車をパワーアップ(スズキ・エブリーにNARDI取り付け)
少し前にカーステを取り替えた愛車の青春カー! ※青春カーの命名はN君です。
-
-
【WordPress】phpMyAdminを使った移行でsqlインポートが「504 Gateway Time-out」で出来ない場合 SSHのコマンドラインで直接やっちまえ
例によってタイトル激長でうざいですが。。。 WordPressのサーバ移行は意外とよくやります
-
-
【CentOS,vsftp,Linux(UNIX)】FTPユーザーアカウントの作成とディレクトリのアクセス制限覚書
外注先にサイトの作成やシステムの構築などを依頼する場合に、特定のディレクトリ(フォルダ)以外にアクセ
-
-
【WordPress】静的htmlサイトをフルCMS化するときにURLを変えないためのパーマリンク自由自在プラグイン「Custom Permalinks」
静的htmlサイトをCMS化(WordPress化)するメリット 一家にひとつは古い静
-
-
【LINEbot】LINEbotが作れるからphpで作ってみたの巻 ~さくらの共有SSLでも動くよ~
BOT API Trial Accountってのが、公開されたので、LINEbotを正式に作れるよう
-
-
【PHP】メールフォーム 一度入力した内容が消えてしまう時 POST使って入力内容を保持 ~メールフォームパッケージダウンロードあり~
前に、 【PHP】スマホ対応 メールフォーム設置 PEARを使ってgmailのsmtpサーバで