2014-10-10 48 views
0

我在UI中選擇了2014年9月12日的內容。由於UTC而導致的Angular JS中的DatePicker錯誤

以下是代碼

ctrl.$formatters.push(function (modelValue) { 
      console.log(modelValue); 
      var dt = new Date(modelValue); 
      dt.setMinutes(dt.getMinutes() + dt.getTimezoneOffset()); 
      console.log(dt) 
      return dt; 
     }); 

兩個控制檯日誌,我看到有以下幾種。

  1. 2014年9月11日
  2. 週三2014年9月10日18:30:00 GMT + 0530(IST)

我不知道爲什麼從UTC到地方的轉換沒有正確執行。

在此先感謝。

回答

1

它不清楚你正在嘗試做什麼。輸入沒有時間。你想把當天的當前時間添加到任意日期嗎?或者你只是想要一個當地的日期表示?我正在琢磨後者。

代替dt.setMinutes(...)和下面兩行,以取代所有三行:

return dt.toLocaleDateString(); 

如果你正在嘗試將時間設置爲現在的任何日期輸入(我不知道爲什麼.. )但您可以嘗試:

dt.setTime(new Date().getTime()); 

而不是setMinutes(...)行。

那麼你可以 return dt.toLocaleString;

所有日期對象存儲爲毫秒,因爲像1972年最好是使用內置的Date對象的方法,讓你從它想要的東西。 Here are the docs供參考。

相關問題