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 回答