2017-01-10 265 views
0

我想存儲爲DateTimeSQL Server我UTC日期轉換到客戶端的本地日期時間轉換UTC GMT + 0200爲本地時間

我有一個日期存儲在我的數據庫中的UTC,它的值是2017-01-10 10:52:07.820

使用下面的代碼,它似乎出現Tue Jan 10 2017 10:52:07 GMT+0200 (GTB Standard Time)

var testDateUtc = moment(item.DatePosted); //"/Date(1484038327820)/" 
var localDate = moment(testDateUtc).local();   
var d = localDate.toDate();    
var DatePosted = d; //result is Tue Jan 10 2017 10:52:07 GMT+0200 (GTB Standard Time) 

我想偏移GMT + 0200被添加到日期,以便最終日期的樣子:週二2017年1月10日: 52:07或理想格式爲:10/1/2017 12:52

任何想法?

+0

您使用的編程語言來訪問SQLServer的?我讚揚你想用內置函數做這件事,不幸的是,時間和日期處理幾乎從不簡單 –

+0

@ std''OrgnlDave是的,VB.NET通過類屬性 公共屬性DatePosted()As System.Nullable()的日期時間) 獲取 返回m_DatePosted.Value.ToUniversalTime 最終獲取 套裝(價值作爲System.Nullable(的DATETIME)) m_DatePosted =值 結束設定 高端物業 私人m_DatePosted作爲System.Nullable(日期時間的) – alwaysVBNET

+0

@ std''OrgnlDave儘管服務器位於不同的時區,而客戶端位於其他時區。 – alwaysVBNET

回答

0

由於您輸入的是UTC,所以在構建矩對象時必須使用moment.utc模式。

您可以使用format()來選擇如何顯示矩對象。

這裏工作的例子:

var testDateUtc = moment.utc(1484038327820); 
 
var localDate = moment(testDateUtc).local(); 
 
console.log(localDate.format('D/M/YYYY HH:mm'));
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>