0

ユーザーのローカルPCの日付と時刻を取得する必要があるアプリケーションに取り組んでいます。基本的にphpには日付と時刻の関数があり、サーバー側のスクリプト言語であるためサーバー時間を返します。

javascript のDate関数を使用して正しい時刻を取得していますが、php でstrtotime関数を使用すると機能しません。php でローカル時刻を取得する方法が必要です。

<script type="text/javascript">

function getDate() 
{ 
        var d = new Date();
    var c_day = d.getDate();
    var c_month = d.getMonth() + 1;
    var c_year = d.getFullYear();
    var c_hour = d.getHours(); 
    var c_min = d.getMinutes(); 
    var t = c_day+"-"+c_month+"-"+c_year+" "+c_hour+":"+c_min;
    return t;
}
if (window.XMLHttpRequest)
{
    xmlhttp=new XMLHttpRequest();
}
else
{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    { 
        alert(xmlhttp.responseText);        
    }
}    
xmlhttp.open("GET","setdate.php?sdate="+encodeURIComponent(getDate()),false);
xmlhttp.send();
</script>

ファイル 'setdate.php' はセッションに sdate 値を保存し、ajax の出力として取得しています。

<?php
$sdate = $_SESSION['sdate'];
$date = date( "d/m/Y", strtotime( $sdate ) );
?>

これは、ページを更新した後に機能しますが、ページが初めて読み込まれたときは機能しません。

誰でもこれについて私を助けることができますか?

4

5 に答える 5

0

ご提案いただきありがとうございます。

最後に、Javaスクリプトを使用してローカルタイムゾーンを取得し、Javaスクリプトを使用してCookieを設定することで解決し、フローからPHPを削除しました... :)

于 2013-10-02T11:19:40.437 に答える