如何在jquery中创建一个新的Date()与我在特定时区的PHP脚本中的值?

时间:2015-10-01 09:41:20

标签: javascript php jquery datetime

我有一个简单的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...)

1 个答案:

答案 0 :(得分:0)

使用此代码并按date_default_timezone_get()自定义getDate函数以获取服务器时区:

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

或使用TimezoneJS插件: 下载TimezoneJS from

并使用它:

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