2017-03-15 120 views
2

如何防止Kendo將DateTime對象轉換爲用戶本地時區?停止Kendo將時間轉換爲本地時區

我使用Kendo UI以及我的MVC項目。

@Model.EndDate.ToString("MMMM dd, yyyy hh:mm tt) 

然而,我的項目的一些部分我使用的劍道模板需要我用劍道的.toString()方法正確格式:在我看來,我可以簡單地做下使用C#打印出日期/時間日期。這個問題是它將它轉換爲我不想要的瀏覽器的本地時區。 這裏是我如何使用劍道顯示日期/時間:

<script id="DetailTemplate" type="text/x-kendo-template"> 
    #= kendo.toString(EndDate, "g") # 
</script> 

從我讀過的東西,它實際上是JavaScript的本身就是在默認情況下改變timzone。有沒有一種方法可以解析日期,然後才能將它們鎖定到原始時區中?

+1

日期沒有一個時區,它們是UTC。但是,內置的* toString *在構建顯示字符串時使用主機時區。你如何保存原始時區? – RobG

+0

@RobG感謝那些信息,我沒有意識到他們沒有存儲時區。我決定用moment.js來指定我想要日期的時區。 – Quiver

+1

支持特定的時區相當容易,但夏令時會更有趣一些。如果你對圖書館感到滿意,也可以。 – RobG

回答

0

爲了解決這個問題,我決定只使用moment.jsmoment-timezone.js

我想我所有的時間是ET,所以我的劍道模板現在看起來是這樣的:

<script id="DetailTemplate" type="text/x-kendo-template"> 
    #: moment(EndDate).tz("America/New_York").format("M/DD/YYYY hh:mm A") # 
</script> 
相關問題