1

我想在用户登录后比较日期和用户时区中的日期。我用 php 获取用户的时区。现在如何在用户时区当前时间的 javascript 中获取当前日期/时间。

@everyone 回答:我不需要当前的本地系统时区或几秒钟内的偏移量。我需要用户当前时间和我在 php 中获得的动态时间。例如:我有 'Asia/Kolkata' 或 'America/Denver' 或任何由 php 动态生成的东西。现在我可以将它保存到隐藏值,以便我可以使用 Javascript 获取它,并且我需要这个时区的当前日期,就像 Javascript 提供日期对象一样。

4

8 回答 8

0

尝试这个:

// date() function
var currDate = new Date()
var n = currDate.getTimezoneOffset();
于 2013-02-08T11:32:12.000 回答
0

JavaScript 使用系统的时区。您可以通过GetTimezoneOffset获取偏移量

于 2013-02-08T11:33:42.160 回答
0
<script>
var date=<?php echo date("Y/m/d")?>
</script>

这可能会帮助你

于 2013-02-08T11:33:42.957 回答
0

像这样试试

<script>
    var date = '<?php echo date("Y/m/d");?>';
    alert(date);
</script>

深深你也可以这样尝试

var today = new Date();  
var localoffset = -(today.getTimezoneOffset()/60);
var destoffset = -4; 

var offset = destoffset-localoffset;
var d = new Date( new Date().getTime() + offset * 3600 * 1000);
alert(d);

在那里你可以得到

于 2013-02-08T11:34:26.083 回答
0

您可以发送 UTC 字符串

strtotime("2013-02-08 00:00:00");

之后,您将拥有 seconsd,您可以将 simple 转换为 JS Date:

var utcString = 1360263600 /*AJAX result must be here*/;
new Date(utcString*1000);
于 2013-02-08T11:39:22.340 回答
0

您可以使用 JavaScript 的日期对象来获取用户的本地系统..

例如,您可以使用以下内容:

var d = new Date();
var time = d.getTime();
alert(time);

这将提醒自午夜以来的毫秒数。

您可以将此时间发送到您的服务器并比较两者。

有关更多功能和详细信息,您可以访问JavaScript 日期对象

于 2013-02-08T11:43:37.720 回答
0

我来自台湾,它为我返回“+8”。

工作示例

JS

function timezone() {
    var offset = new Date().getTimezoneOffset();
    var minutes = Math.abs(offset);
    var hours = Math.floor(minutes / 60);
    var prefix = offset < 0 ? "+" : "-";
    return prefix+hours;
}


$('#result1').html(timezone());

HTML

<div id="result"></div>

结果

+8
于 2015-05-23T12:39:24.400 回答
0

我建议将moment.js 与 moment timezone一起使用。

然后您可以执行以下操作:

moment().tz("Asia/Kolkata").format();
于 2015-11-11T17:30:44.500 回答