2

私は人々が実行するphpボットを書いています。このボットは正しく機能するために正確な時間を必要とします。現在、次のようにタイムスタンプ関数を使用しています。

//return string of a timestamp
private function timestamp()
{
    $date = date_create();
    return "(" . $date->format('H:i:s') . ")";
}

これで、タイムゾーンを設定する機能があることがわかりました

http://php.net/manual/en/function.date-timezone-set.php

私の問題は、タイムゾーンを設定するためにPHPについて何も知らないとしてもほとんど知らないユーザーがいるということです。少なくとも、場所ではなく数字でタイムゾーンを設定できれば、フォーマットやタイプミスで頭痛の種になるため、独自のタイムゾーンを設定することに頼ることはできません。たとえば、私のタイムゾーンは-6です...

date_default_timezone_set("-6");  

ローカル マシンの時刻を設定するために関数を作成しようとした人々の関数を見つけましたが、それらの関数は古いか、機能していません。

PHP 5.0以降のLinuxおよびWindowsマシンのローカル時間を取得する関数または代替の堅牢な方法はありますか?

ご協力いただきありがとうございます。

編集: localtime() でさえ間違った時間を返します...

4

2 に答える 2

1

サポートされているタイムゾーンを使用するか、次のような他のタイムゾーンを設定できます

date_default_timezone_set('Etc/GMT' . '-6');
于 2012-12-12T22:22:10.967 に答える
0

以下のJavascriptを介して現在の現地時間を確認できます。

    <script>

        // For 24 hours    

        var ct = new Date();
        var hr = ct.getHours();
        var mt = ct.getMinutes();
        if (mt < 10) {
            mt = "0" + mt;
        }
        document.write("<b>" + hr + ":" + mt + " " + "</b>");    


        // For 12 hours (AM / PM)

        var ct = new Date();
        var hr = ct.getHours();
        var mt = ct.getMinutes();

        var ampm = "AM";

        if (hr >= 12) {
            ampm = "PM";
            hr = hr - 12;
        }
        if (hr == 0) {
            hr = 12;
        }
        if (mt < 10) {
            mt = "0" + mt;
        }

        document.write("<b>" + hr + ":" + mt + " " + ampm + "</b>");

   </script>
于 2017-08-02T11:30:06.517 に答える