3

これは基本的な質問のようで、以前に尋ねられたことがあるかどうかわかりません。

スクリプトに次ifのステートメントがあります。

if (date('H') < $loc_item -> closing) {

基本的にはビジネス用のスクリプトです。そして、それは店が閉まる時期と関係があります。6時、7時など

この変数は、時間のみに 1 から 24 の値を使用します。ただし、一部の営業時間は午後 5 時 30 分 (17 時 30 分)、午後 6 時 30 分 (18 時 30 分)、

18.5 という値は午後 6 時 30 分を表しますか? そうでない場合、値を追加できる日付関数を使用して入力する最も簡単な方法は何1830ですか?

編集:ここにはユーザー出力はありません。スクリプトは、特定の時刻に「スイッチ」をスローすることを知る必要があるだけです。

4

4 に答える 4

2

strtotime()を使用できます

date("Hi", strtotime("18:40"));
于 2013-07-04T16:14:52.877 に答える
1

質問に答えるのに十分な情報を提供していません。

まず、スクリプトがすべての分をサポートするようにすることもできます...一部の店舗は @ 6:45 に閉店する可能性があるためです。

あなたが探している解決策は、単純にタイムスタンプを比較することだと思います。

これを行う最も簡単な方法は、strtotime を使用することです。

于 2013-07-04T16:15:57.360 に答える
1

date関数が時間と分を返すようにしたい場合は、それdate('H')を行うつもりはありません。が必要date('Hi')です。それは文字列を返します。以下は、完全なコード スニペットです。

<?php
date_default_timezone_set('America/New_York');
echo "The time is ".date('Hi')."\n";
$closingTime = "12:15";
echo "The store closes at ".$closingTime."\n";
if (strtotime(date('Hi')) < strtotime($closingTime)) echo "it is still open\n";
else echo "the store is closed\n";
?>

出力例:

The time is 1225
The store closes at 12:15
the store is closed
于 2013-07-04T16:17:56.927 に答える
0

私は次のようなことをする傾向があります:

$now = new DateTime();
$closing = new DateTime('19:30');

if ($now < $closing) // not closed

早朝に閉店する心配はないと思います。

于 2013-07-04T16:37:07.347 に答える