如何在客户端(JavaScript)和服务器(PHP)之间平衡时区
我有一个普遍的问题,但我不能在这个时候做。我在一个项目上工作。我们的数据库基于欧洲/阿姆斯特丹时间。然而,客户端时区和日期每次都在变化。你知道我在说什么吗 我通过PHP()从数据库中获取日期。我只希望这些日期写上“2分钟前”。我们将日期保存在数据库中,如“2017-08-04 13:43:38”我可以将其用于其他问题或功能。 我用 我的问题 我现在正在通过接口更改任何记录。(2017-08-04 13:43:38)(伊斯坦布尔时区)系统将2017-08-04 12:43:38(阿姆斯特丹时区)保存为修改日期。这就是为什么我的javascript总是显示大约一小时前应该是不到一分钟前我想将每个客户端时区更改为阿姆斯特丹时区 我的问题:如何在客户端(JavaScript)和服务器(PHP)之间平衡时区,javascript,php,mysql,cakephp,timeago,Javascript,Php,Mysql,Cakephp,Timeago,我有一个普遍的问题,但我不能在这个时候做。我在一个项目上工作。我们的数据库基于欧洲/阿姆斯特丹时间。然而,客户端时区和日期每次都在变化。你知道我在说什么吗 我通过PHP()从数据库中获取日期。我只希望这些日期写上“2分钟前”。我们将日期保存在数据库中,如“2017-08-04 13:43:38”我可以将其用于其他问题或功能。 我用 我的问题 我现在正在通过接口更改任何记录。(2017-08-04 13:43:38)(伊斯坦布尔时区)系统将2017-08-04 12:43:38(阿姆斯特丹时区)保
//使用阿姆斯特丹的日期
var d=力矩(“2017-08-05T13:43:38+0200”);
log(d.format('d MMM YYYY[at]hh:mm A[local]”)是“+d.fromNow()+”);
//等效UTC
var d=力矩(“2017-08-05T11:43:38Z”);
log(d.format('d MMM YYYY[at]hh:mm A[local]”)是“+d.fromNow()+”)代码>
如果您想获得准确的时间读数,可以使用Internet时间服务器来保证时间在您的平台上以毫秒级的粒度同步。一些公共的可以在这里找到。我会使用客户端查找时间,然后将其发送到服务器。我相信这些服务器将在ISO8601中使用 你需要澄清你的问题。如果在“2017-08-04 13:43:38”这样的字符串上使用内置解析器,它可能(但不一定)会被视为本地的,因此表示主机时区设置变化的不同时刻。最好以UTC格式保存日期并手动解析(库可以提供帮助)。不惜一切代价避免使用内置的解析器,请参阅@RobG对不起。你说得对。我刚刚编辑了我的问题内容。