当前网站托管在AWS ec2中。 因此,当我使用Date函数时,它返回aws本地时间和日期。 如何在这台服务器上获得当前的新西兰时间?
答案 0 :(得分:3)
你有几种选择。
如果您遵循第一个选项,则可以使用HTTP请求获取服务器UTC时间。
对于第二个选项,您需要在客户端浏览器中使用JavaScript计算新西兰的时间。
// create Date object for current location
var date = new Date();
// convert to milliseconds, add local time zone offset and get UTC time in milliseconds
var utcTime = date.getTime() + (date.getTimezoneOffset() * 60000);
// time offset for New Zealand is +12
var timeOffset = 12;
// create new Date object for a different timezone using supplied its GMT offset.
var NewZealandTime = new Date(utcTime + (3600000 * timeOffset));
注意:这不会反映夏令时。
答案 1 :(得分:0)
你可以试试这个:
如果服务器是Linux服务器,则使用,
f(n)
答案 2 :(得分:0)
使用第三方api显示来自特定国家/地区的时间。您可以使用worldtimeapi.org/中的api。进行ajax调用,获取desired location的时间。您可以使用普通的javascript或使用任何ajax库来执行此操作。在这里,我包括两种方法:1)简单的javascript和2)使用axios
VANILLA JS
function getTime(url) {
return new Promise((resolve, reject) => {
const req = new XMLHttpRequest();
req.open("GET", url);
req.onload = () =>
req.status === 200
? resolve(req.response)
: reject(Error(req.statusText));
req.onerror = (e) => reject(Error(`Network Error: ${e}`));
req.send();
});
}
现在使用此功能进行ajax调用
let url = "http://worldtimeapi.org/api/timezone/Pacific/Auckland";
getTime(url)
.then((response) => {
let dateObj = JSON.parse(response);
let dateTime = dateObj.datetime;
console.log(dateObj);
console.log(dateTime);
})
.catch((err) => {
console.log(err);
});
AXIOS
axios({
url:"http://worldtimeapi.org/api/timezone/Pacific/Auckland",
method: "get",
})
.then((response) => {
let dateObj = response.data;
let dateTime = dateObj.datetime;
console.log(dateObj);
console.log(dateTime);
})
.catch((err) => {
console.log(err);
});
希望有帮助。请记住,worldtimeapi.org/是第三方服务。如果他们选择终止服务,则您的代码将中断。编码愉快。