如何从Javascript中的Date()函数获取斯里兰卡时间缩写

时间:2016-04-07 12:11:26

标签: javascript timezone

Javascript Date()函数返回IST(印度标准时间) Thu Apr 07 2016 17:24:07 GMT+0530 (IST)

从此我想获取缩写。但这总是回归印度标准时间。我如何获得斯里兰卡时间缩写的缩写?

6 个答案:

答案 0 :(得分:2)

我认为这是您期望的答案

const date = new Date().toLocaleString('en-US', { timeZone: 'Asia/Colombo'});

答案 1 :(得分:0)

斯里兰卡时间 - 缩写为IST(印度标准时间)。 因此斯里兰卡TimeZone与印度相同。这就是为什么你得到IST,因为它是IST。

斯里兰卡于2011年4月11日午夜转为SLST,但与IST相同,javascript可能无法识别它。

答案 2 :(得分:0)

我想这就是你想要的:

<script>
function myFunction() {
    var theDate = new Date(); 
    var res = theDate.replace("IST", "SLST");
}
</script>

现在您可以使用res显示完全相同的时间(因为根据我读过的内容,IST和SLST是相同的),但最后使用SLST而不是IST。如果要在Date()生成的字符串中替换更多内容,那么您也可以替换它。

答案 3 :(得分:0)

当您在实例上调用Date时,或者当您隐式转换为字符串(例如写入控制台时)时,JavaScript&#39;} .toString()函数返回的字符串完全取决于实现。您无法保证能够获得任何时区缩写。某些浏览器可能会给出缩写,但其他浏览器可能会吐出整个时区名称,例如&#34;印度标准时间&#34;,而其他浏览器可能只是给出UTC或GMT的偏移量,例如&#34; GMT 05:30&#34 ;.

中,ECMAScript规范中没有任何内容可以使这个字符串变得特别。

此外,要认识到时区缩写可能不明确。 &#34; IST&#34;可能代表&#34;印度标准时间&#34;,&#34;以色列标准时间&#34;或&#34;爱尔兰标准时间&#34;。

更多的是,斯里兰卡的缩写是&#34; IST&#34;自从2006年发生的从+06:00切换到+05:30时,在时区数据库中。在此之前,缩写&#34; LKT&#34;在数据库中使用。您可以阅读整个历史记录hereWikipedia shows an abbreviation of "SLST",但这并未在用于计算时区的任何数据库中实现。如果您对该缩写的第一手知识是常用的,您可以通过the tz discussion list at IANA请求更新。

总结 - 如果为斯里兰卡(Linux上的Asia/Colombo或Windows上的Sri Lanka Standard Time|(UTC+05:30) Sri Jayawardenepura)设置了系统时区,并且JS Date对象显示为{{1}在您的特定浏览器中,它正在正确地执行所有操作,您不应尝试更改它。

答案 4 :(得分:0)

如果您在计算机中设置了本地时间,则会产生当地时间

   var date = new Date().toLocaleDateString();  //  3/15/2017
   var dateTime =new Date().toLocaleString();   //  3/15/2017, 12:23:55 AM
   var time  =new Date().toLocaleTimeString();  //  12:23:55 AM

答案 5 :(得分:0)

这将为您提供答案

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

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

link