获取特定时区的时间

我正在使用JavaScript Date类,并尝试使用getDate()方法获取当前日期。但显然是加载系统日期和时间。我正在从印度运行代码,但我想使用相同的方法来获取英国的日期和时间。我怎样才能做到这一点 ?



慕森王
浏览 561回答 3
3回答

白板的微信

如果您知道UTC偏移量,则可以使用以下函数传递它并获取时间:function calcTime(city, offset) {    // create Date object for current location    var d = new Date();    // convert to msec    // subtract local time zone offset    // get UTC time in msec    var utc = d.getTime() + (d.getTimezoneOffset() * 60000);    // create new Date object for different city    // using supplied offset    var nd = new Date(utc + (3600000*offset));    // return time as a string    return "The local time for city"+ city +" is "+ nd.toLocaleString();}alert(calcTime('Bombay', '+5.5'));

动漫人物

您可以使用Intl.DateTimeFormat。var options = {    timeZone: 'Europe/London',    year: 'numeric', month: 'numeric', day: 'numeric',    hour: 'numeric', minute: 'numeric', second: 'numeric',},    formatter = new Intl.DateTimeFormat([], options)formatter.format(new Date())另外,如果您只格式化一次而不是批量使用Date.prototype.toLocaleDateString()。(new Date()).toLocaleString([], options)不幸的是浏览器不要求了解比UTC其他时区,所以try这些块,并计算出在情况下,它失败的替代,例如取时区从服务器偏移。

www说

最好的方法是使用getLocaleString,如下所示:创建一个日期对象:date = new Date(0)如果您在柏林,则应将其转换为以下字符串:1970年1月1日星期四01:00:00 GMT + 0100(CET)获取雅典的时间:date.toLocaleString('de-DE', {hour: '2-digit',   hour12: false, timeZone: 'Europe/Athens' })'02'获取上海时间:date.toLocaleString('de-DE', {hour: '2-digit',   hour12: false, timeZone: 'Asia/Shanghai' })'08'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript