2013-02-23 44 views
0

如何在Javascript中獲取印度的日期和時間? 它不應該採取計算機的日期和時間,但它應該採取標準的世界時區,而不需要個人計算機的時間參考。javascript:獲取印度的日期和時間(不是個人計算機的日期和時間)

+1

的唯一途徑這樣做是爲了從某個服務器獲取數據,比如使用AJAX。 – Brad 2013-02-23 15:55:05

+3

@Brad很好,它可以得到UTC時間並適當調整它。 – Pointy 2013-02-23 15:56:08

+1

*您可以請給我的JavaScript代碼*號幫助。這並不是如何工作。 – 2013-02-23 16:10:29

回答

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/

+0

這種方法更值得推薦。 – user1428716 2013-02-23 16:17:51

2

這是不可能的。 Javascript知道計算機的日期/時間,但如果這不符合當前時區,則Javascript無法檢測到該時間。

但是,有Date對象的UTC API,所以如果OP願意信任客戶端時鐘,可以完成。

+1

當然是的。 Js知道時區 – mplungjan 2013-02-23 15:59:38

+0

但它不知道計算機在哪個時區,除非它從某個服務器獲取正確的數據。 – 2013-02-23 16:00:53

+0

Utc加印度時區抵消 – mplungjan 2013-02-23 16:04:19

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 
} 

是GMT時間。但是因爲它調用了某個服務器,所以你的代碼依賴於那個服務器的功能,你可以使你的服務器和相應的處理請求。

0

您可以在近期和未來時間添加5個半小時到UTC時間 - 印度目前沒有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()) 
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 
     } 
});