2017-03-19 19 views
1

私は、Ionicアプリケーションのデータベースからいくつかの日付時刻を返しています。 戻ってくるデータは正しいですが、Angularが推奨する形式の日付時刻を使用すると、時刻が正しくないものに変わります。角2の日時書式が正しくない時間を表示する

私がやりたいことは、自分の日時をとり、日/月/年の日を省略して時間を表示するだけです。例えば

:私はしかし、時間を返すためにshortTimeを使用する場合

私は戻って取得していた時間が、この2017-03-19T08:00:00

であるが、これは私のブラウザ2:00 AMに表示されるものです。

質問:この時間フォーマットの不一致が発生する原因と問題を解決するにはどうすればよいですか?

編集:ここで私は戻っていたデータのスクリーンショットとフロントエンドのHTML enter image description here

home.html

<ion-item text-wrap *ngFor="let item of dateEvent"> 
    <p><b>Event Start:</b> {{item.EventStart | date:'shortTime'}}</p> 
    <p><b>Event End:</b> {{item.EventEnd | date:'shortTime'}}</p> 
    </ion-item> 
    </ion-item> 
    <ion-item *ngIf="!hasEvent" text-wrap> 
    <p >Looks like you don't have any events on {{dateTime | date: 'MM/dd/YYYY'}}!</p> 
    </ion-item> 
    <h6 text-center="true"><b>NEXT EVENT:</b></h6> 
    <ion-item *ngIf="hasNextEvent"> 
    <ion-item text-wrap *ngFor="let item of nextEvent"> 
    <p><b>Date:</b> {{item.EventStart | date:'MM/dd'}}</p> 
    <p><b>Event Start:</b> {{item.EventStart | date:'shortTime'}}</p> 
    <p><b>Event End:</b> {{item.EventEnd | date:'shortTime'}}</p> 
    </ion-item> 
    </ion-item> 
    <ion-item *ngIf="!hasNextEvent" text-wrap> 
     <p >Looks like you don't have any future events scheduled!</p> 
    </ion-item> 
</ion-content> 
+0

あなたはどのタイムゾーンにいますか? –

+0

山岳時間.. – Jason

+0

作業中のシステムで正しく設定されていますか?システムの日付と時刻の設定を確認してください。 –

答えて

1

あなたが提供されたオブジェクトになっている日は、上の2:00 AM (Mountain Time)に等しい2017-03-19T08:00:00 UTCの日付です同日。あなたはそれについて心配する必要はありません。 JavaScriptは、日付をローカルタイムゾーンに変換してからブラウザに表示します。同様にDateを入力すると、Local Timezoneが使用され、サーバーにUTC Dateとして渡されます。

あなたが提供したのと同じ日付時間で試しました。それは私にSun Mar 19 2017 13:30:00 GMT+0530 (India Standard Time)を示しました。

0

だそれはその値で正しく動作するように表示されます。あなたは正しい価値があると確信していますか?

相続人は短時間での日付フィルタの作業例:

(function() { 
 

 
    'use strict'; 
 

 
    angular.module('app', []); 
 

 
})(); 
 

 
(function() { 
 

 
    'use strict'; 
 

 
    angular.module('app', []).controller('MainController', MainController); 
 

 
    MainController.$inject = ['$filter']; 
 

 
    function MainController($filter) { 
 

 
    var vm = this; 
 

 
    vm.date = "2017-03-19T08:00:00"; 
 
    
 
    vm.formattedDate = $filter('date')(vm.date, 'shortTime'); 
 

 
    } 
 

 

 
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="MainController as MainCtrl"> 
 

 
    Formatted date in HTML template binding: {{MainCtrl.date | date: 'shortTime'}} 
 
    
 
    <br> 
 
    
 
    Formatted date from controller: {{MainCtrl.formattedDate}} 
 

 
</div>

+0

データを処理している自分のデータとHTMLのスクリーンショットを追加しました。 – Jason

関連する問題