###実現したいこと
PHPで、UNIXTIMEから、サイト閲覧者の時差を加味した時刻を表示する方法を知りたいです。
めちゃくちゃな考えでまとまりがありませんが…
まず$baseとして13桁のUNIXTIMEがあり、これをサイト閲覧者の時差に応じて変化させようと思いました。
time_difference(); で時差を返し、その時差に応じて「Y/m/d」を出力したいのですが、どのようなソースコードになりますでしょうか?
###該当のソースコード
自分的にここまで書いてみた結果、
・そもそも$countryで取得してるのはブラウザ言語であってサイト閲覧者の地域ではないので、時差の取得に役にたたないのではないか?
・たとえ時差が取得できても、それをどのようにして$dateから計算するのか?($country_dateではその計算ができませんでした)
など、問題が山積みな状態です。
// 基本となる日時 $base = ceil( microtime(true)*1000 ); $date = $base / 1000; // サイト閲覧者の応じた時差 function time_difference ($country ){ if( $country=="cy" ){ return +8; } if( $country=="jp" ){ return +9; } } // 時差に応じた日時 $country = substr( $_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) ; $country_date = $date . time_difference( $country ) ; $result = date( "Y/m/d H:i:s", $country_date ) ; // サイト閲覧者の時差に応じて「Y/m/d」を出力したい echo $result;
回答2件
あなたの回答
tips
プレビュー