ホームページ php教程 php手册 PHP判断某一天在指定日期的前还是后

PHP判断某一天在指定日期的前还是后

Jun 13, 2016 am 09:38 AM
タイムスタンプ

有这么一个需求,指定日期是12月12日,在12月12号前我要执行A事件,在其后要执行B事件,怎样判断今天是在12月12日的前还是后?

程序如下:

<?php
$year = 2010;
$month = 12;  // 月
$day = 12;  // 日
$timeoffset = 8; // 与格林尼治时间 GMT 的时差
list($thisyear, $thismonth, $thisday) = explode('-', date('Y-n-j', time() + $timeoffset * 3600));
if(($thismonth > $month) || ($thismonth == $month && $thisday > $day) || $thisyear > $year) {
	echo '已经过了';
} elseif ($thismonth == $month && $thisday == $day && $thisyear == $year) {
	echo '就是今天了';
} else {
	echo '还没到';
}
?>
ログイン後にコピー

下面是带注释的代码:

//你还需要知道的另一个变量是年份,不过依你的意思应该是当年。
$timestamp = time();
$dateYear = date('Y', $timestamp);//当前年,依当前需要可以不需要比较,但有时也许会用到,比如你的记录不是当年要处理的
$dateMonth = date('n', $timestamp);//当前月份数字,没有前导零
$dateDay = date('j', $timestamp);//月份中的第几天,没有前导零
//剩下的就是比较了,比如你要比较的日期是 2007-03-01
$eventDate = '2007-03-01';
$eventDateArr = explode('-', $eventDate);
$eventYear = intval($eventDateArr[0]);
$eventMonth = intval($eventDateArr[1]);
$eventDay = intval($eventDateArr[2]);
//上面是年月日的拆分,根据实际情况可以调整,如果你直接可以得到就不需要这样取了。
//之后剩下的就是比较了,先比较年
if($dateYear == $eventYear) {
  //同年
  if($dateMonth == $eventMonth) {
    //同月
    if($dateDay == $eventDay) {
      //同一天,就是当前日期就是事件触发的日期
    } elseif($dateDay > $eventDay) {
      //事件已经过期了
    } else {
      //事件触发日期还没到
    }
  } else {
    //之前或之后,再需要详细判断可以在这里比较哪个月份大
  }
} else {
  //之前或之后,再需要详细判断可以在这里比较哪个年份大
}
//其实这种比较是最简单的逻辑判断,如果你在记录时间触发日期时记录的是 unix 时间戳,这里可以直接进行时间戳比较不过需要处理一下,因为时间戳是精确到秒的
//或者把你记录的日期及其后一天直接转化成 unix 时间戳,时分秒都用 0 ,和当前时间戳比较,细节判断就自己去分析吧,可用函数去查查手册里面 strtotime() ,时间相关函数参数很多,不过用过几次就熟悉了。
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Golang の時間処理: Golang でタイムスタンプを文字列に変換する方法 Golang の時間処理: Golang でタイムスタンプを文字列に変換する方法 Feb 24, 2024 pm 10:42 PM

Golang の時間変換: タイムスタンプを文字列に変換する方法 Golang では、時間操作は非常に一般的な操作の 1 つです。表示や保存を容易にするために、タイムスタンプを文字列に変換する必要がある場合があります。この記事では、Golang を使用してタイムスタンプを文字列に変換する方法と、具体的なコード例を紹介します。 1. タイムスタンプと文字列の変換 Golang では、タイムスタンプは通常、1970 年 1 月 1 日から現在時刻までの秒数を表す整数の形式で表現されます。文字列は

現在のタイムスタンプに基づいてファイル/フォルダーを作成し、名前を付ける方法 現在のタイムスタンプに基づいてファイル/フォルダーを作成し、名前を付ける方法 Apr 27, 2023 pm 11:07 PM

システムのタイムスタンプに基づいてファイルやフォルダーを自動的に作成し、名前を付ける方法を探している場合は、ここが最適な場所です。このタスクを達成するための非常に簡単な方法があります。作成されたフォルダーまたはファイルは、ファイルのバックアップの保存、日付に基づいたファイルの並べ替えなど、さまざまな目的に使用できます。この記事では、Windows 11/10 でファイルとフォルダーを自動的に作成し、システムのタイムスタンプに基づいて名前を付ける方法を、非常に簡単な手順で説明します。使用される方法はバッチ スクリプトであり、非常に簡単です。この記事を楽しんで読んでいただければ幸いです。セクション 1: システムの現在のタイムスタンプに基づいてフォルダーを自動的に作成し、名前を付ける方法 ステップ 1: まず、フォルダーを作成する親フォルダーに移動します。

Java ドキュメントの解釈: System クラスの currentTimeMillis() メソッドの使用分析 Java ドキュメントの解釈: System クラスの currentTimeMillis() メソッドの使用分析 Nov 03, 2023 am 09:30 AM

Java ドキュメントの解釈: System クラスの currentTimeMillis() メソッドの使用状況分析、特定のコード例が必要 Java プログラミングでは、System クラスはシステムに関連するいくつかのプロパティと操作をカプセル化する非常に重要なクラスです。その中でも、System クラスでよく使われるメソッドである currentTimeMillis メソッドについて、コード例を示しながら詳しく説明します。 1. currentTimeMillisメソッドの概要

Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか? Go で正規表現を使用してタイムスタンプを照合するにはどうすればよいですか? Jun 02, 2024 am 09:00 AM

Go では、正規表現を使用してタイムスタンプを照合できます。ISO8601 タイムスタンプの照合に使用されるような正規表現文字列をコンパイルします。 ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。 regexp.MatchString 関数を使用して、文字列が正規表現と一致するかどうかを確認します。

Excelで日付から時間を削除する方法 Excelで日付から時間を削除する方法 May 17, 2023 am 11:22 AM

数値形式を使用して Excel の日付形式を変更する Excel で日付から時間を削除する最も簡単な方法は、数値形式を変更することです。これはタイムスタンプから時刻を削除するのではなく、セルに時刻が表示されなくなるだけです。これらのセルを計算に使用する場合、時刻と日付は引き続き含まれます。数値形式を使用して Excel の日付形式を変更するには: Excel スプレッドシートを開きます。タイムスタンプが含まれるセルを選択します。メイン メニューで、数値形式ボックスの最後にある下矢印を選択します。日付形式を選択します。形式を変更すると、セルに時間が表示されなくなります。いずれかのセルをクリックすると、時間形式が数式バーに表示されたままになります。セルの書式設定を使用する

タイムスタンプ取得のベスト プラクティス: Golang プログラミングの強力なツール タイムスタンプ取得のベスト プラクティス: Golang プログラミングの強力なツール Dec 29, 2023 am 08:28 AM

Golang プログラミング ツール: タイムスタンプ取得のベスト プラクティス はじめに: ソフトウェア開発では、タイムスタンプは非常に一般的な概念です。これは特定のイベントの発生を識別する数値であり、通常はある基準時点からのミリ秒またはナノ秒数を表します。 Golang では、タイムスタンプの処理は非常にシンプルかつ効率的です。この記事では、Golang でタイムスタンプを取得するためのベスト プラクティスを紹介し、具体的なコード例を示します。テキスト: 現在のタイムスタンプを取得する Golang では、現在のタイムスタンプを取得するのは非常に簡単です。我々はできる

PHP でのタイムスタンプの処理: strftime 関数を使用してタイムスタンプをローカライズされた日付時刻にフォーマットする方法 PHP でのタイムスタンプの処理: strftime 関数を使用してタイムスタンプをローカライズされた日付時刻にフォーマットする方法 Jul 30, 2023 am 09:15 AM

PHP でのタイムスタンプの処理: strftime 関数を使用してタイムスタンプをローカライズされた日付時刻にフォーマットする方法 PHP アプリケーションを開発するとき、多くの場合、日付と時刻を処理する必要があります。 PHP は強力な日付と時刻の処理関数を提供します。その中で strftime 関数を使用すると、タイムスタンプをローカライズされた日付と時刻にフォーマットできます。 strftime 関数の構文は次のとおりです: strftime(string$format[,int$timestamp=ti

PHPでタイムスタンプを整数に変換する方法 PHPでタイムスタンプを整数に変換する方法 Mar 20, 2024 pm 04:24 PM

PHP のタイムスタンプは時間を表す整数形式で、通常は Unix の初年度 (1970 年 1 月 1 日 00:00:00 GMT) から経過した秒数です。プログラミングでは、タイムスタンプを他の形式の整数に変換する必要がよくありますが、ここでは、PHP のタイムスタンプを整数に変換する方法と、具体的なコード例を紹介します。 PHP では、strtotime() 関数を使用して時刻文字列をタイムスタンプに変換し、日付を使用できます。

See all articles