我如何在jquery中创建一个新的Date(),并从我的php脚本中获得一个特定时区的值


how can I create a new Date() in jquery with a value from my php script in a specific timezone?

我有一个简单的php脚本,它以以下格式返回时间:

date_default_timezone_set('Asia/Tokyo');
echo (new DateTime())->format('F d, Y H:i:s O');

它的输出是:

October 01, 2015 18:34:35 +0900

现在我在jquery脚本中获取这些数据,我想从这个字符串中创建一个新的Date()对象。但是,我不知道如何在那里包含时区。到目前为止,我是这样做的:

var serverTime = "October 01, 2015 18:34:35 +0900";//fetched from server
var timezone = serverTime.substr(serverTime.length - 5);
var substractedDate = serverTime.substr(0, serverTime.length - 5);
var tokyoTime = new Date(substractedDate);
alert(tokyoTime);

但它显示了我:

Thu Oct 01 2015 18:40:34 GMT+0200 (Central Europe Daylight Time)

如何创建一个这样的日期:

Thu Oct 01 2015 18:40:34 GMT+0900 (Asian...)

?

使用下面的代码,通过date_default_timezone_get()自定义getDate函数来获取服务器时区:

var serverTime = "<?php echo (new DateTime())->format('F d, Y H:i:s O'); ?>";

或使用TimezoneJS插件:从。

下载TimezoneJS

并使用它:

<?php date_default_timezone_set('Asia/Tokyo'); ?>
var dt = new timezoneJS.Date('<?php echo ?>', '<?php echo date_default_timezone_get();?>');