Javascript日期函数在不同的操作系统中返回不同的时区,如;印度标准时间“;及;IST";

Javascript日期函数在不同的操作系统中返回不同的时区,如;印度标准时间“;及;IST";,javascript,Javascript,Javascript日期函数在不同的操作系统中返回不同的时区,如返回“印度标准时间”windows操作系统和“IST” 在mac系统中。我想在所有操作系统中使用“印度标准时间” 这是我的代码: <!DOCTYPE html> <html> <body> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = Date(); </s

Javascript日期函数在不同的操作系统中返回不同的时区,如返回“印度标准时间”windows操作系统和“IST” 在mac系统中。我想在所有操作系统中使用“印度标准时间”

这是我的代码:

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Date();
</script>

</body>
</html>

document.getElementById(“demo”).innerHTML=Date();
结果 windows中:2017年2月14日星期二13:03:02 GMT+0530(印度标准时间) 在mac系统中:2017年2月14日星期二13:03:02 GMT+0530(IST)


var currentTime=新日期(),
小时数=当前时间。getHours(),
分钟=currentTime.getMinutes();
如果(分钟<10){
分钟=“0”+分钟;
}
文件写入(小时+“:”+分钟)

我建议您使用矩js。如果您使用的是amd module loader,则可以执行以下操作:


require([“矩”],(m)=>{console.log(m().utcOffset(330.format())})
问题注释中提到的Allready

Object.defineProperty(Date.prototype,“getTimezoneString”{
可枚举:false,
可写:对,
可配置:false,
值:函数(){
var retval=“Z”;
var offset=this.getTimezoneOffset()/60;
开关(偏置){
案例14:retval=“M†”中断;
案例13.75:retval=“”;中断;
案例13:retval=“M†”中断;
案例12.75:retval=“M”中断;
案例12:retval=“M”中断;
案例11:retval=“L”中断;
案例10.5:retval=“K†”中断;
案例10:retval=“K”中断;
案例9.5:retval=“I†”中断;
案例9:retval=“I”中断;
案例8.75:retval=“H*”中断;
案例8.5:retval=“H†”中断;
案例8:retval=“H”中断;
案例7:retval=“G”中断;
案例6.5:retval=“F†”中断;
案例6:retval=“F”中断;
案例5.75:retval=“E*”中断;
案例5.5:retval=“E†”中断;
案例5:retval=“E”中断;
案例4.5:retval=“D†”中断;
案例4:retval=“D”中断;
案例3.5:retval=“C†”中断;
案例3:retval=“C”中断;
案例2:retval=“B”中断;
案例1:retval=“A”中断;
案例0:retval=“Z”中断;
案例1:retval=“N”中断;
案例2:retval=“O”中断;
案例3:retval=“P”中断;
案例-3.5:retval=“P†”中断;
案例4:retval=“Q”中断;
案例5:retval=“R”中断;
案例6:retval=“S”中断;
案例7:retval=“T”中断;
案例8:retval=“U”中断;
案例9:retval=“V”中断;
案例-9.5:retval=“V†”中断;
案例10:retval=“W”中断;
案例11:retval=“X”中断;
案例12:retval=“Y”中断;
默认值:retval=“Z”中断;
}
返回返回;
}
});
//https://en.wikipedia.org/wiki/List_of_UTC_time_offsets
//更多详情:https://www.timeanddate.com/time/zones/
var timezone=new Date().getTimezoneString();
document.querySelector(“#date”).innerHTML=时区


您希望实现什么目标?日期时间字符串相等。如果您使用getTime或其他函数,它将返回完全相同的值。@DomeTune的可能重复:日期-时间字符串是相等的,但看看时区,我想要一个恒定的时区名称。我想实现客户端的时区。您可以使用
newdate().getTimezoneOffset()/60
以获取UTC偏移量。(+12 | 0 |-12)也许您需要函数中每个时区的映射@多梅特恩:谢谢,这解决了我的问题:)这与问题有什么关系?虽然这段代码可能会回答这个问题,但提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。我只想要时区,基本上我想确定客户机的时区。@KausharAlam如果术语
如下,则是
更好的解决方案:
(“0”+分钟)。切片(-2)
。它总是以两位数返回分钟。我为这种奇怪的代码对齐感到抱歉!
<script>
    var currentTime = new Date(),
    hours = currentTime.getHours(),
    minutes = currentTime.getMinutes();

    if (minutes < 10) {
        minutes = "0" + minutes;
    }

    document.write(hours + ":" + minutes)
</script>