Javascript-如何获取特定国家的当前时间和日期?新西兰。

Javascript-如何获取特定国家的当前时间和日期?新西兰。,javascript,Javascript,当前网站托管在AWS ec2中。 所以当我使用Date函数时,它返回aws本地时间和日期。 如何在此服务器中获取当前新西兰时间?您可以尝试以下方法: 如果服务器是Linux服务器,则使用 var dateTime=new Date(linuxserveTime*1000); 你有两种选择 修改并将其发送到客户端浏览器 从web浏览器客户端时区计算新西兰时间 如果遵循第一个选项,则可以使用HTTP请求获取服务器UTC时间 对于第二个选项,您需要在客户端浏览器中使用JavaScript计算新西兰的

当前网站托管在AWS ec2中。 所以当我使用Date函数时,它返回aws本地时间和日期。 如何在此服务器中获取当前新西兰时间?

您可以尝试以下方法:

如果服务器是Linux服务器,则使用

var dateTime=new Date(linuxserveTime*1000);

你有两种选择

  • 修改并将其发送到客户端浏览器
  • 从web浏览器客户端时区计算新西兰时间
  • 如果遵循第一个选项,则可以使用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));
    

    注意:这不会反映夏令时。

    使用第三方api显示特定国家/地区的时间。您可以从中使用api。打一个ajax电话,了解你的时间。您可以使用普通javascript或任何ajax库来实现这一点。这里我介绍了两种方法:1)纯javascript和2)使用axios

    香草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();
        });
    }
    
    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);
        });
    
    现在使用此函数进行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

    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();
        });
    }
    
    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);
        });
    

    希望有帮助。但要记住一件事,那就是第三方服务。如果他们选择终止服务,您的代码将中断。快乐编码。

    是服务器端的JavaScript(节点,或某物)吗?你需要学习时间偏移并将它设置为服务器时区到NZST。你真的应该考虑使用一个已经建立的解决方案,因为你可能没有考虑到像处理日光节约之类的挑战。尝试