2015-08-03 63 views
1

我正在AngularJs中製作一個應用程序。 但問題是數據庫是由別人控制的。 他們節省時間在數據庫中作爲ISD(印度標準)。 當我打電話給web服務來獲取這些日期以字符串形式來這樣YYYY/MM/DD HH/MM/SS示例2015/02/23 23/59/01。 我有一個日期列表,我必須使用ng-repeat像這樣顯示。從本地時區到UTC然後到本地的轉換日期

<ion-item ng-repeat="item in MeIdeaList | orderBy:'-CreatedDate'" style="background-color:rgb(25, 26, 0);" ng-click="ShowIdeaDetails(item.Id)"> 
      <div class="row"> 
       <div class="col col-80" style="color:white"> 
        <p> {{item.Title}}</p> 
       </div> 
       <div class="col col-20" style="color:red"> 
        <b>{{item.Status}}</b> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col col-70" style="color:white"> 
        {{item.CreatedDate}} 
       </div> 
       <div class="col col-30"> 
        <i class="icon ion-chevron-right icon-accessory" style="float:right;color:white"></i> 
       </div> 
      </div> 

     </ion-item> 

現在我想這個日期顯示爲從用戶訪問數據的地方時間。 就像我在美國的日期將來自數據庫僅作爲國際直接投資。如何將此ISD轉換爲UTC,然後獲取時區和增加或減去分鐘,並顯示給用戶的用戶界面。

回答

0

function setDateLocal(input) 
 
{ 
 
    var date = input.split(" "); //remember input needs to be as you described. 
 
    date = date[0] + "T" + date[1].replace(/\//g, ":") + "+0000"; 
 
    var ist = 19800000; //time zone is IST, which is 5.30 from UTC in milliseconds 
 
    var utcDate = new Date(Date.parse(date)-ist).toUTCString(); 
 
    return new Date(Date.parse(utcDate)); 
 

 
} 
 

 
document.body.innerHTML += setDateLocal("2015/02/23 23/59/01");

此功能需要從數據庫中輸入。將其轉換爲時間戳並從中減去5.30小時(這是UTC和IST之間的差異)。最後一步是將其轉換爲本地。

+0

Date.parse(date)導致NaN。 – RHUL

+0

這種格式的輸入是? '2015/02/23 23/59/01'。你描述的格式。 – Mouser

+0

yes ... date = date [0] +「T」+ date [1] .replace(/ \ // g,「:」)+「+0000」;這一行正常工作。 。 – RHUL

0

您也可以使用moment.js將日期從本地時間轉換爲utc,反之亦然。

moment('07-18-2013', 'MM-DD-YYYY').utc().format("YYYY-MM-DD HH:mm") 

moment.utc('2014-02-19 05:24:32 AM').toDate(); 
0
var date = input.split(" "); 
       date = date[0] + "T" + date[1].replace(/\//g, ":") + "+00"+":"+"00"; 
       date=date.replace("/","-"); 
       date=date.replace("/","-"); 
       alert(date); 
       var ist = 19800000; //time zone is IST, which is 5.30 from UTC in milliseconds 
       var utcDate = new Date(Date.parse(date)-ist).toUTCString(); 
       alert(utcDate); 

維護 「 - 」 日期之間 「:」 之間的時間是非常重要的。

相關問題