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

日付および時刻関連

 閲覧数:653  投稿日: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
2024/4/27 7:13 更新
週間人気ページランキング / 4-20 → 4-26
順位 ページタイトル抜粋 アクセス数
1 後ろから3文字削除 / 「18:00:00」→「18:00」 | 文字列(テキスト処理) 13
2 URLから、トップページ(index.html)判定 | ルーティング 9
3 現在WebページのURLパスを第2階層まで取得 | パス 8
4 配列の空要素を削除 / array_diff()で空配列と比較し配列の差分を返す | 配列(型) 7
4 配列の内容(ひらがな)を、読み(あ行~わ行)で分け、新たな配列へ格納 | 配列(型) 7
5 対象文字列の内、「最初の指定文字列以前」と「それ以降の文字列」を取得する | 文字列(テキスト処理) 6
6 多次元配列キーを、多次元配列内にある「特定キーの値」へ変更 | 多次元配列(型) 5
7 指定文字列より前を取得 | 文字列(テキスト処理) 3
7 可変変数(変数) カテゴリー 3
7 文字列の中で変数展開される要件 | 文字列(テキスト処理) 3
8 配列キー内に「指定文字列が含まれるキー」と「その値」を抽出して、新しい配列を返す | 配列(型) 2
8 「input type="datetime-local"」で受け取った文字列をハイフンへ変更 | 日付および時刻関連 2
8 switch文判定 … 「in_array」「array_keys」 | 配列(型) 2
8 (データベースなどから取得した)多次元配列の値と、一次元配列を比較して、「一致」及び「増減」を返す | 配列(型) 2
8 null代入とunset()の違い | 変数 2
8 PHPで最後の「指定区切り文字」より後ろを取得 | 配列(型) 2
9 「指定配列要素が配列内で重複している数」をカウント後、配列要素として追加 | 配列(型) 1
9 現在のセッション名を取得、表示 | セッション 1
9 foreachの中でswitch文 | 配列(型) 1
9 「可変変数」 × 「配列要素を、文字列連結して表示」 … for文+implode | 可変変数(変数) 1
2024/4/27 1:02 更新