PHPで指定した期間と一致するかを確認する方法を詳しく解説
業務開発の都合上、時刻が指定期間内かどうかを判断する必要があり、曜日や日数の範囲の判断をサポートする必要があるため、次のメソッドを書きました。それをみんなで共有して学習し、使用できるようにしました。
#コードは次のとおりです: #<?php/**
* 判断时间是否匹配指定时间段
*
* Date: 2017-10-29
* Author: fdipzone
* Version: 1.0
*
* @param Array $config 指定日期时段设定
* @param Int $time 判断的日期时间,默认为当前日期时间
* @return Boolean
*/function check_time_match($config, $time=null){
$curtime = isset($time)? $time : time(); // 当前周几
$curw = date('w', $curtime); // 上一天周几
$prew = date('w', $curtime-86400); // 当前时分
$curhm = date('H:i', $curtime); // 循环指定日期时段,检查是否匹配
foreach($config as $k=>$v){ // 循环时段
foreach($v['range'] as $t){ list($range, $next_day) = explode(',', $t); // 获取时段的开始结束时间
list($starttime, $endtime) = explode('-', $range); // 当天
if($next_day==0){ // 检查周几是否匹配
if(in_array($curw, $v['week'])){ // 检查时间是否匹配
if($curhm>=$starttime && $curhm<=$endtime){ return true;
}
} // 跨天
}else{ // 检查当天周几是否匹配
if(in_array($curw, $v['week'])){ // 检查当天时间是否匹配,开始时间-当天零点
if($curhm>=$starttime){ return true;
}
} // 检查上一天周几是否匹配
if(in_array($prew, $v['week'])){ // 检查上一天时间是否匹配,当天零点-结束时间
if($curhm<=$endtime){ return true;
}
}
}
}
} return false;
}?>
#<?php// 指定日期时段设定$config = array( array( 'week' => array(1,2,3,4,5), // 周一至周五
'range' => array('08:00-12:00,0', '14:00-18:00,0', '20:00-22:00,0')
), array( 'week' => array(0,6), // 周六周日
'range' => array('08:00-18:00,0', '20:00-02:00,1'), // 0:不跨天,1:跨天
)
);// 检查时间是否匹配$check_time = array( null, // 当前日期时间,2017-10-29 11:40 周日
'2017-10-23 11:00', // 周一
'2017-10-24 12:01', // 周二
'2017-10-25 19:59', // 周三
'2017-10-26 21:59', // 周四
'2017-10-27 22:00', // 周五
'2017-10-28 12:01', // 周六
'2017-10-28 18:01', // 周六
'2017-10-29 01:59', // 周日
'2017-10-30 01:59', // 周一
'2017-10-30 02:01', // 周一
'2017-10-31 01:59', // 周二);foreach($check_time as $time){
var_dump(check_time_match($config, strtotime($time)));
}?>
boolean trueboolean trueboolean falseboolean falseboolean trueboolean trueboolean trueboolean falseboolean trueboolean trueboolean falseboolean false
mysql5.7 エクスポート データ プロンプト-- -file-priv オプションの問題に対する安全な解決策
php を介してコード呼び出しを追跡する debug_backtrace メソッドを実装する方法
以上がPHPで指定した期間と一致するかを確認する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
