-2

我有一个需要显示用户配置文件的应用程序。现在无论用户来自印度还是巴西。我必须显示该特定位置的当地时间。但是正在查看用户配置文件的用户可以从 World 的任何地方浏览配置文件。如何使用 java 脚本实现它。帮助将不胜感激。

4

2 回答 2

0

您可以使用Date对象

function getTime () {
    var today=new Date();
    var hours = today.getHours() > 12 ? today.getHours() - 12 : today.getHours();
    var amORpm = hours > 12 ? "pm" : "am";
    var minutes =today.getMinutes();
    return hours + ":" + minutes + amORpm;
}

我没有时间对此进行测试,但它应该可以工作。

编辑:

您无法使用 JavaScript 准确设置时区。但是,有一些方法可以使用更多的 JavaScript。我建议查看moment.js 库。我相信它可以让你做我想做的事。您也可以只使用基于服务器的语言,例如PHPASP.NET

于 2013-07-19T02:00:58.003 回答
0

您可以通过创建一个新的 Date 对象来获取查看器的当前日期和时间:

var userDate = new Date();

您可以通过添加查看器的时区偏移量然后减去配置文件时区偏移量来调整它以在其他位置显示日期,或者通过减去配置文件时区偏移量来调整内部时间值。

但是,您将需要考虑在拥有它们的地方对配置文件进行夏令时调整。

// Return date object for provided offset.
// Offset is the ECMAScript Date object offset 
// in minutes for a timezone, e.g. UTC+1000 is -600
function getTime(offsetInMinutes) {
    var d = new Date();
    d.setMinutes(d.getMinutes() + d.getTimezoneOffset() - offsetInMinutes);
    return d;
}

// Show time in Riyadh: UTC+0300 (offset -180)
alert(getTime(-180));
于 2013-07-19T03:33:37.820 回答