我想把我的PHP服务器时间传递给我的JavaScript文件。
PHP代码:
date_default_timezone_set('Australia/Perth');
echo date("r");
JavaScript:
$.get('time.php', function(data) {
today = new Date(data);
closing = new Date(data);
});
PHP代码返回Sun,18 Mar 2012 12:01:23 +0800,这是澳大利亚/珀斯的正确时间。但这将返回一个无效的JavaScript日期对象。
当我尝试将其转换为时间戳时,如下所示:
echo strtotime(date("r"));
我得到JavaScript日期Sun Mar 18 2012 04:03:14 GMT+0000(WET)(这是今天js var的值)
如果我用途:
echo gmstrftime('%s');
我得到:2012年3月17日星期六20:04:30 GMT+0000(WET)。
有人能帮帮我吗?
9条答案
按热度按时间uemypmqf1#
Luna的答案中的PHP代码与
echo date
并不完全像JavaScript代码。这将完全模仿JavaScript代码:hs1rzwqc2#
你也可以保持PHP代码不变,使用JavaScript解析日期:
这样的事情也会起作用:
通过控制台日志输出(GMT+1000是因为我在澳大利亚):
关于
Date.parse()
的更多信息在这里:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse9w11ddsr3#
将字符串乘以1000的目的是什么?那次行动毫无意义
这个PHP将为此工作。
eqqqjvef4#
如果您当前的区域设置不是英语,则无法正常工作。
更好的替代方法是用途:
cfh9epnr5#
下面是一个DateTime对象的例子:
PHP代码(适用于PHP5.3或更高版本)
JavaScript代码
9q78igpj6#
一个很好的方法是timestamp:
1381324693000
当前服务器时间为:2013年10月9日星期三16:18:13 GMT+0300(GTB标准时间)
rhfm7lfc7#
可能有更好的解决方案,但这一个对我来说很有用。关键问题是JavaScript使用0-11个月,而PHP使用1-12个月,如前所述。
xzv2uavs8#
对我有用的是:
3npbholx9#
很简单: