「最終更新日から 1 年以上経過しています」というメッセージを古い記事に表示する

古い記事にはその旨を記したメッセージを出すことにした。ここにも表示されている? だとしたら、この投稿内容自体古い可能性があるので注意してほしい。

具体的には、ページ表示日時の 1 年前と最終更新日時のタイムスタンプとを比較し、前者が大きい、または両者等しいなら警告する。PHP で処理を行う。

コード

YYYY-MM-DD HH:MM:SS の形で格納した最終更新日時のデータと比較しているが、サポートする日付と時刻の書式に倣うなら他形式でも構わない。

date_create() で比較

if (date_create('-1 year') >= date_create($last_update)){
 	# 処理...
}

または、strtotime() で比較

if (strtotime('-1 year') >= strtotime($last_update)){
 	# 処理...
}

なお、strtotime() の返り値は UNIXタイムスタンプであるため、32bit PHP の場合は 2038/01/19 3:14:07 (UTC) 超過でオーバーフローすることに注意。