php time() を使用してユーザーの現地時間を取得するにはどうすればよいですか、それとも別の方法がありますか? つまり、タイムゾーンになります。
ユーザーの現地時間で時間を計算する必要があります。時間前関数用に見つけた素敵なスクリプトを次に示します。
<?php
function timeago($time)
{
$periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
$lengths = array("60","60","24","7","4.35","12","10");
$now = time();
$difference = $now - $time;
$tense = "ago";
for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++)
{
$difference /= $lengths[$j];
}
$difference = round($difference);
if($difference != 1)
{
$periods[$j].= "s";
}
return "$difference $periods[$j] $tense";
}
?>
<?php
$date = strtotime('2012-04-15 07:41:03');
$datep = timeago($date);
echo $datep;
?>
上記のスクリプトから、time() を使用しますが、ローカル時間ではなくサーバー時間のみを取得します。どうすれば自分の現地時間 (ユーザーの現地時間) を取得できますか?