1

如何在 Javascript 中获取印度的日期和时间?它不应该采用计算机的日期和时间,而应该采用标准世界时区,而不采用个人计算机的时间参考。

4

6 回答 6

2

您可以向服务器发出 ajax 请求并返回时间:

html

<p>The time is <span id="time"></span></p>

JS

var time = document.getElementById('time');

time.innerHTML = getTime();

function getTime(){
    var xmlHttp;
    try {
        //FF, Opera, Safari, Chrome
        xmlHttp = new XMLHttpRequest();
    }
    catch (err1) {
        //IE
        try {
            xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (eerr3) {
                //AJAX not supported, use CPU time.
                alert("AJAX not supported");
            }
        }
    }
    xmlHttp.open('HEAD',window.location.href.toString(),false);
    xmlHttp.setRequestHeader("Content-Type", "text/html");
    xmlHttp.send('');
    return xmlHttp.getResponseHeader("Date");
}

这是一个 js 小提琴:http: //jsfiddle.net/A8vxa/

于 2013-02-23T16:10:26.413 回答
1

那是不可能的。Javascript 知道计算机的日期/时间,但如果它与当前时区不对应,则 Javascript 无法检测到。

但是,有用于 Date 对象的 UTC API,因此如果 OP 愿意信任客户端时钟,则可以这样做。

于 2013-02-23T15:56:14.747 回答
0

Javascript 是一种客户端语言。它在用户系统上执行,因此 datetime 对象保存用户系统时间。但是 Javascript 可以进行 HTTP 调用,并且只能对服务器进行调用。

您可以拨打Working Demo的电话:

http://json-time.appspot.com/time.json?tz=GMT

你会得到响应(在浏览器中打开):

{
  "tz": "GMT", 
  "hour": 16, 
  "datetime": "Sat, 23 Feb 2013 16:07:44 +0000", 
  "second": 44, 
  "error": false, 
  "minute": 7
}

这是格林威治标准时间。但是由于它正在调用某个服务器,因此您的代码取决于该服务器功能,您可以创建您的服务器并相应地处理请求。

于 2013-02-23T16:10:48.990 回答
0

您可以将最近和未来时间的 UTC 时间增加 5 个半小时 - 印度目前没有 DST,只有一个时区。

假设您可以从客户端获取 UTC:

function IndiaTime(D){
    D= D || new Date();
    D.setUTCMinutes(D.getUTCMinutes()+330);

    var A= [D.getUTCHours(), D.getUTCMinutes(), D.getUTCSeconds()];
    if(A[1]<10) A[1]= '0'+A[1];
    if(A[2]<10) A[2]= '0'+A[2];
    return A.join(':');
}

alert(IndiaTime())
于 2013-02-23T18:04:58.917 回答
0

如果您使用 Node 和 NPM 进行开发,您可以使用这个包: https ://www.npmjs.com/package/ez-local-time 它包含所有世界时区,因此您始终可以通过编程方式获取印度的日期和时间.

于 2018-04-04T18:15:17.587 回答
0

在php上创建一个函数

public function ajax_getDate()
{
    ini_set("date.timezone", "Asia/Kolkata");
    echo json_encode(date('F d, Y h:i:s A')); 

    //you can use any date format you want check http://php.net/manual/en/function.date.php
}

然后使用ajax检索数据..

$.ajax({
    url : url + "ajax_getDate",
    type: "GET",
    dataType: "JSON",
    success: function(data)
        {
          date = data;
          // do something
        }
});
于 2017-11-23T07:52:31.933 回答