我只想对此进行一些澄清.PHP 5.4消除了TZ环境变量和过去的"猜测" date_default_timezone_get.所以现在我觉得根本没办法得到服务器的时区.
所以我的问题是:是否可以在PHP 5.4中获取服务器时区?我知道我可以在php.ini中手动设置它,但是当一台计算机完全能够知道它的时间时,这似乎有点傻.我希望答案是"不",所以也许有人可以阐明为什么编程语言无法确定其时区(如果是这种情况).
我经常需要根据用户的实际本地时间或受时区影响而显示信息.获取用户当前时间和/或时区是否有可靠的方法?
关键问题:
关键问题:
例子:
倒数:
只需1小时3分56秒!
问题:基于什么去的几秒钟; 用户的OS时钟,主机服务器时间(正负偏移),ISP系统时间.如果所有时区的时钟同时结束,这很容易,但如果它是用户本地时区的午夜倒计时,则会更加棘手)
编辑日志
项目发布于3:03 pm(10秒前)
问题:无论用户如何计算"10秒",调整时间以匹配用户的时区.
营业时间:
这家餐厅现在营业至午夜(AEST).
问题:给出午夜等时间可以通过从服务器端偏移来计算,但是使用psudo时间(例如现在),在2小时内取决于用户的时间.
PHP:使用time()输出服务器时间.这可以根据用户的时区进行偏移.
JavaScript:使用Date()输出用户的计算机时钟时间太容易操作.
我想解析Twitter API created_at值(存储到变量中),如下所示:
Sun Aug 28 19:31:16 +0000 2011
进入:
8月28日19:31
但我需要它是时区意识.关于如何使用它的任何想法php?
在使用John Flatness建议的第二个选项后,我收到了这个错误:
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct() [<a href='datetime.--construct'>datetime.--construct</a>]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for 'BRT/-3.0/no DST' …Run Code Online (Sandbox Code Playgroud) 我想在Laravel当地时间打印时间.如果用户创建帖子,它将在服务器上显示创建的时间.如何在当地时间显示?
在我的刀片文件中,我使用此代码显示创建的时间,
{{{ $posts->updated_at }}}
Run Code Online (Sandbox Code Playgroud)
其中显示数据库中的时间,即服务器时间.如何将其转换为当地用户?
我正在使用的CMS允许我访问用户与UTC/GMT时间的时间偏移.因此,如果用户将其时区设置为EST,则此偏移量将为"-5".
当我需要显示当前时间时,我正在做的事情如下:
date('M j Y h:i A', time() + $offset*3600)
Run Code Online (Sandbox Code Playgroud)
这种方法有效,除非夏令时对用户有影响,然后落后一小时.
所以,我的问题是,我如何确定给定的时间偏移(如"-5")是否需要添加一个小时?