基本的に、私は現在、MySQL データベースからタイムスタンプを選択しています。データベースでは、タイムスタンプは次のようになります。
2010-06-30 12:36:08
明らかに、Web アプリケーションの場合、これはユーザーにとってあまり魅力的ではありません。そこで、いくつかの CodeIgniter 関数を使用して、見栄えを良くしました。
<h4 class="timestamp">
<?php // Quickly calculate the timespan
$post_date = mysql_to_unix($row->date);
$now = time();
echo timespan($post_date, $now);?> ago
</h4>
CodeIgniter を実行しない場合は、echo timespan()
. CodeIgniter は単に「英語」のタイムスパンとしてエコーします。したがって、出力例は次のようになります。
2 Months, 4 Weeks, 5 Hours, 20 Minutes ago
それはそれでいいのですが、もっと見栄えを良くしたいのです... コンマが多すぎて、すべてが少し長すぎます(私は好き嫌いがあります...)。私が欲しいのは:
- タイムスパンが 1 日未満の場合、出力は次のようになります。
7 hours, 33 minutes ago
- タイムスパンが 1 週間未満の場合、出力は次のようになります。
4 days ago
- タイムスパンが 1 か月未満の場合、出力は次のようになります。
2 weeks, 6 days ago
- タイムスパンが 1 か月以上経過している場合、出力は次のようになります。
4 months ago
- 最終的にタイムスパンが 1 年を超える場合、出力は次のようになります。
Over a year ago
ご覧のとおり、私は現在これを単純化するために CodeIgniter 関数を使用していますが、私が望むことを実行できるネイティブ PHP 関数があれば、それは素晴らしいことです。
ご協力いただきありがとうございます!
ジャック