【问题标题】:how is set clock with GMT(S) iran?GMT(S) 伊朗如何设置时钟?
【发布时间】:2011-08-11 23:11:45
【问题描述】:

格林尼治标准时间伊朗-德黑兰是+3:30,但为什么是这个网站:http://wwp.greenwichmeantime.com/time-zone/asia/iran/tehran/ 将格林尼治标准时间用于伊朗-德黑兰+4:30

如何在伊朗更改 GMT 时设置自己的时钟(在我的代码中)?
我的代码: http://jsfiddle.net/HZmPg/1/

var int=self.setInterval("clock()",1000);
            function clock()
            {
            var d=calcTime('+3')
            var t=d.toLocaleTimeString();
            document.getElementById("clock").innerHTML=t;
            }
    function calcTime(offset) {

    // create Date object for current location
    d = new Date();

    // convert to msec
    // add local time zone offset 
    // get UTC time in msec
    utc = d.getTime() + (d.getTimezoneOffset() * 60000);

    // create new Date object for different city
    // using supplied offset
    nd = new Date(utc + (3600000*offset));

    // return time as a string
    return nd;

}

尊重

【问题讨论】:

标签: javascript jquery


【解决方案1】:

它应该可以工作:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Lorem ipsum</title>
  <style>
  </style>
</head>
<body>
<script type="text/javascript">
var interval = self.setInterval("clock()", 1000);
function clock(){
  var date = new Date();
  var hourOffset = 3;
  date.setUTCHours(date.getUTCHours(), date.getUTCMinutes());
  var time = date.getTime();
  date.setUTCFullYear(date.getUTCFullYear(), 2, 22);
  var dstStart = date.getTime();
  date.setUTCFullYear(date.getUTCFullYear(), 8, 22);
  var dstEnd = date.getTime();
  if(time > dstStart && time < dstEnd)hourOffset = 4;
  date.setUTCHours(date.getUTCHours()+hourOffset, date.getUTCMinutes()+30);
  var output = date.getUTCHours()+":"+date.getUTCMinutes()+":"+date.getUTCSeconds();    document.getElementById("clock").innerHTML=output;
}
</script>
<b id="clock"></b>
</body>
</html>

【讨论】:

    【解决方案2】:

    德黑兰目前似乎处于夏令时。

    $ TZ=Asia/Tehran date ; date -u
    Fri Aug 12 03:45:44 IRDT 2011
    Thu Aug 11 23:15:44 UTC 2011
    

    【讨论】:

    • @Sheikhasa Mozali:对不起,我不会说 JavaScript;我只是在评论时区问题。顺便说一句,“GMT”一词特指零时区(也称为“UTC”,尽管它们之间存在细微差别)。更清楚地说,德黑兰的时区是 GMT+4:30。
    猜你喜欢
    • 2011-10-25
    • 2014-10-29
    • 2018-11-12
    • 2018-07-21
    • 1970-01-01
    • 2013-08-17
    • 2018-08-26
    • 1970-01-01
    • 2016-10-29
    相关资源
    最近更新 更多