Javascript JS与PHP之间的日期转换

Javascript JS与PHP之间的日期转换,javascript,php,Javascript,Php,我似乎不理解客户机-服务器之间日期转换的逻辑。我找不到处理这件事的好方法。。。背景:我的应用程序将在客户的服务器上运行,而我(一般情况下)无法配置这些服务器。因此,我需要找出PHP时区偏移量(主要是UTC,但我假设它可以设置为任意值)和浏览器的时区,并将时间戳保存在PHP时区的数据库中 任何帮助都将不胜感激。我写过这样的话: var Time = { serverOffset: <?php echo date("Z"); ?>, clientOffset: new D

我似乎不理解客户机-服务器之间日期转换的逻辑。我找不到处理这件事的好方法。。。背景:我的应用程序将在客户的服务器上运行,而我(一般情况下)无法配置这些服务器。因此,我需要找出PHP时区偏移量(主要是UTC,但我假设它可以设置为任意值)和浏览器的时区,并将时间戳保存在PHP时区的数据库中

任何帮助都将不胜感激。我写过这样的话:

var Time = {
    serverOffset: <?php echo date("Z"); ?>,
    clientOffset: new Date().getTimezoneOffset() / 60,
    serverToClient: function(PHPTimestamp) {
        return PHPTimestamp * 1000 - (Time.clientOffset - Time.serverOffset) * 60 * 60 * 1000;
    },
    clientToServer: function(JSDate) {
        var JSTimestamp = +JSDate;
        return JSTimestamp / 1000 + (Time.clientOffset - Time.serverOffset) * 60 * 60;
    },
    midnight: function(D) {
        return D.setHours(0).setMinutes(0).setSeconds(0);
    }    
}
var时间={
serverOffset:,
clientOffset:new Date().getTimezoneOffset()/60,
serverToClient:函数(PHPTimestamp){
返回PHPTimestamp*1000-(Time.clientOffset-Time.serverOffset)*60*60*1000;
},
clientToServer:函数(JSDate){
var JSTimestamp=+JSDate;
返回JSTimestamp/1000+(Time.clientOffset-Time.serverOffset)*60*60;
},
午夜:功能(D){
返回D.setHours(0)、setMinutes(0)、setSeconds(0);
}    
}
但这并不例外。例如,如果我调用Time.clientToServer(new Date()),则生成的时间戳比本地时间早2小时,但应该只有1小时(我的时区是UTC-1,我的PHP设置为UTC)


不过,我想我的方法并不是最好的方法。等待提示…

I timestamp在这里表示Unix时间戳,那么时区根本不应该是问题,因为Unix时间戳没有时区。服务器端时区是100%可配置的。你到底想解决什么问题?我想找到一个好方法来处理在我无法配置的服务器上运行的应用程序中的日期(就像要安装的产品,我无法访问所有服务器)@CBroe你说得对。你的帖子实际上解决了我的问题。谢谢