2013-06-08 8 views
17

私は日付入力フィールドを使用していて、選択した日付をUiで角型でフォーマットしています。しかし、フォーマットされた日付は常に選択された日付よりも1日少なくなります。それはなぜですか、どうすれば修正できますか?角度フィルタに間違った日付が表示されるのはなぜですか?

HTML:

<div ng-app="miniapp"> 
    <div> 
    <label class="control-label" for="inputStart">Start Date:</label> 
     <input type="date" id="inputStart" data-ng-model="startDate" /><br /> 
     Selected: <span>{{ startDate }}</span><br /> 
     fullDate: <span>{{ startDate | date:'fullDate' }}</span><br /> 
     mediumDate: <span>{{ startDate | date:'mediumDate' }}</span><br /> 
     MMMM d yyyy<span>{{ startDate | date:'MMMM d yyyy' }}</span> 
    </div>  
</div> 

JS:http://jsfiddle.net/wittersworld/uY3s9/

EDIT:私は実用的なソリューションでフィドルを更新http://jsfiddle.net/wittersworld/uY3s9/2/私は問題を示してバイオリンを持って

var app = angular.module('miniapp', []); 

+0

あなたのフィドルの日付はうまく見えます。 – Stewie

+1

@StewieサラエボはGMT + 1ですから。 GMTが前日の23:05になった0時05分にOPのフィドルを試してみると、フィドルが入力した日より1日遅れて表示されているように見えます。 –

答えて

15

これはタイムゾーンの問題です。

日付ピッカーに2013年6月8日の日付を入力すると、それはGMTの深夜です。あなたは西イングランドの住んでいる場合は、たとえば、米国では、6月7日だが、2013年

変更ライン

{{ startDate | date:'medium' }} 

{{ startDate | date:'fullDate' }} 

時間を参照してください!

+1

ありがとうRay!それは正しい解決策に私をもたらしました。私は残りの方法を助けた記事を見つけ、実際の方法でフィドルを更新しました。 http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329 – witters

+0

+1なぜそれが私のために働くか説明する時間を取るために。 – Stewie

+2

作業リンク:http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/ – jeffgabhart

関連する問題