PHP日期到Javascript日期变成时差?

时间:2012-06-22 04:36:06

标签: php javascript datetime datatable timezone

我使用JS DataTable并且Date Column必须是可排序的。但它不能排序为 JS假设日期作为字符串导入。 (它没有按照实际的时间顺序排序。只是按字母顺序排列)

然后当我用Google搜索时,我开始意识到JS只能排序JS日期。意思是,我需要将PHP日期转换为JS日期。

但我还不能正确地得到它。我做的是:

<script>
    var jsDate = new Date(
                        <?php echo $phpDate_y; ?>,
                        <?php echo $phpDate_m; ?>,
                        <?php echo $phpDate_d; ?>
                    ); // $phpDate will be "2012-04-30";
</script>

但在渲染时,jsDate转换为:

Thu Oct 03 1935 00:00:00 GMT+0730 (MALST)

远远不同!!
而且,我的时区位置是Singapore 有没有其他正确的方法:(

2 个答案:

答案 0 :(得分:2)

您可以将完整日期字符串传递给JS Date对象来构造它,因此请尝试将其中一种ISO日期格式的$ phpDate传递给Date构造函数,而不是按照您的方式将其拆分。

// $phpDate = '2012-08-17 12:29:06'
var jsDate = new Date("<?php echo $phpDate; ?>");

答案 1 :(得分:1)

尝试使用 date_default_timezone_set('America / Los_Angeles');

PHP脚本中的第一行。

php.net/manual/en/function.date-default-timezone-set.php