2013-06-08 20 views
17

Bir tarih giriş alanı kullanıyorum ve ui'mde seçili tarihi Angular ile biçimlendiriyorum. Ancak biçimlendirilmiş tarih her zaman seçili tarihten 1 gün daha azdır. Neden böyle ve nasıl düzeltebilirim?Köşeli tarih filtresi neden yanlış bir tarih gösteriyor?

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/

DÜZENLEME: Ben çalışan bir solüsyon ile keman güncellenen: http://jsfiddle.net/wittersworld/uY3s9/2/ Sorunu gösteren bir keman var

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

+0

Keman tarihlerinde iyi görünüyorsun. – Stewie

+1

@Stewie çünkü Saraybosna GMT + 1. Eğer GMT'nin önceki gün 23:05 olduğu saatte OP'in kemanını 0:05 de denerseniz, kemanın girdiğinizden bir gün sonra ortaya çıkması gibi görünecektir. –

cevap

15

Bu bir saat dilimi sorunudur.

Tarih seçicinize 8 Haziran 2013 tarihini girerseniz, gece yarısı GMT olur. İngiltere'nin batı yaşıyorsanız, diyelim ki, ABD'de, bu 2013

Değişim

{{ startDate | date:'medium' }} 

satır

{{ startDate | date:'fullDate' }} 

kez görmek, 7 Haziran bu!

+1

Teşekkürler Ray! Bu beni bir çözüm için doğru yolda buldu. Yolun geri kalanında bana yardımcı olan bir makale buldum ve kemanı bir çalışma yöntemi ile güncelledim. http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329 – witters

+0

+1 Neden benim için çalıştığını açıklamak için zaman ayırın. – Stewie

+2

Çalışma linki: http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/ – jeffgabhart

İlgili konular