日付文字列を比較して、年月日が異なる場合は年月日を、同一年の場合は月日を返す、同一年月の場合は月日を返す。※1日を厳密に直近24時間以内で判定

日付および時刻関連

 閲覧数:806  投稿日:2020-05-28  更新日:2020-06-03  

1日は、厳密に24時間の差で判定している

・下記は、24時間経過していないため、同日扱い
2020-05-27 18:35:18
2020-05-28 16:17:22

このコードは×。
正確にdiff出来ない月がある
→ http://phpcode.w4c.work/php/status/214




コード

$time1 = new DateTime('2019-04-01');
$time2 = new DateTime('2019-04-25 19:23:43');
$diff = $time1->diff($time2);

if($diff->y>0):
  echo '<p>', $time2->format ('Y年n月d日'), '</p>';
endif;
if($diff->m>0):
  echo '<p>', $time2->format ('n月d日'), '</p>';
endif;
if($diff->d>0):
  echo '<p>', $time2->format ('d日'), '</p>';
endif;



結果

<p>25日</p>



タグ


DateTime 





MySQLのdatetime型カラムより取得した「文字列」を、(先頭0なしの)年月日時分秒で表示

日付文字列を比較して、年月日が異なる場合は年月日を、同一年の場合は月日を返す、同一年月の場合は月日を返す。※1日を24時間以内ではなく数値で判定



類似度ページランキング
順位 ページタイトル抜粋
1 日付文字列を比較して、年月日が異なる場合は年月日を、同一年の場合は月日を返す、同一年月の場合は月日を返す。※1日を厳密に直近24時間以内で判定 59
2 日付文字列を比較して、年月日が異なる場合は年月日を、同一年の場合は月日を返す、同一年月の場合は月日を返す。※1日を24時間以内ではなく数値で判定 52
3 MySQLのdatetime型カラムに格納している値と比較して、24時間以内かどうかを判定 29
4 配列キー内に「指定文字列が含まれるキー」と「その値」を抽出して、新しい配列を返す 27
5 指定文字が2回目に出現する位置以降の文字列を取得 25
6 2 つの配列(文字列とdatetime)が要素順で 対応している時、日付を整形して 新しい配列を作成 25
7 本日が「複数設定した指定日」の当日に該当するか、を判定 22
8 文字数に基づき、文字列の一部を取得する 22
9 array_diffを使用して、「複数配列」間で「存在している値」を比較後、その結果を配列で返す 22
10 MySQLのdatetime型カラムより取得した「文字列」を、(先頭0なしの)年月日時分秒で表示 22
11 本日が「第何何曜日」の当日に該当するか、を判定 21
12 MySQLのdatetime型カラムより取得した「月日文字列」先頭に0があった場合、削除 21
13 指定した幅で文字列を丸めた後、「…」文字を追加する 21
14 「最後に位置している指定文字列」より後の文字列を取得 21
15 対象文字列の内、「最初の指定文字列以前」と「それ以降の文字列」を取得する 21
16 「指定文字」直後から「指定文字」直前までの文字列を返す 20
17 「対象文字列」に「指定文字列」が含まれていれば、「指定文字列」より後を返す 20
18 投稿日時をTwitterのように「 20
19 ユーザー登録時の確認メール。24h以内ならば有効。DBよりdatetime型の「レコード作成日時」を取得し、「24h前の現在時刻」と比較 20
20 UNIXのタイムスタンプから日付(文字列)を取得後、「アクセスした時点の年月日時分秒」を整形して表示 … date() 20
2025/3/11 5:10 更新
週間人気ページランキング / 3-4 → 3-10
順位 ページタイトル抜粋 アクセス数
1 配列キー内に「指定文字列が含まれるキー」と「その値」を抽出して、新しい配列を返す | 配列(型) 9
2 後ろから3文字削除 / 「18:00:00」→「18:00」 | 文字列(テキスト処理) 8
3 指定文字列より前を取得 | 文字列(テキスト処理) 5
3 PHPで最後の「指定区切り文字」より後ろを取得 | 配列(型) 5
4 現在WebページのURLパスを第2階層まで取得 | パス 4
4 8桁の生年月日数字を分解 | 文字列(テキスト処理) 4
4 多次元配列の作成 | 多次元配列(型) 4
5 URLから、トップページ(index.html)判定 | ルーティング 3
6 配列の要素に特定の値が存在すれば、要素のキーを返す array_search() | 配列(型) 2
6 24時間以降の時刻を表示 / "02:30" → "26:30" | 日付および時刻関連 2
6 (データベースなどから取得した)多次元配列の値と、一次元配列を比較して、「一致」及び「増減」を返す | 配列(型) 2
6 「指定文字」直後から「指定文字」直前までの文字列を返す | マルチバイト文字列(テキスト処理) 2
7 Smartyのテンプレートにincludeしたファイルを表示 | Smarty(テンプレートエンジン) 1
7 対象文字列の内、「最初の指定文字列以前」と「それ以降の文字列」を取得する | 文字列(テキスト処理) 1
7 null代入とunset()の違い | 変数 1
7 特定のHTMLタグのみ表示を許可 | エスケープ処理 1
7 平均値、分散、標準偏差を求める | 統計 1
7 アルファベット小文字に続けて大文字表示 | 文字列(テキスト処理) 1
7 range( ) を使用して日付期間を配列生成 | 日付および時刻関連 1
7 unset | タグ毎エントリー一覧 1
2025/3/11 1:02 更新