在使用 GridView 綁定日期類型資料時,資料庫儲存的日期為 2008-07-04,但 GridView 卻顯示為 2007-07-04 000000,後方多出一串多餘的零,嚴重影響介面美觀與資料可讀性。
只需在綁定日期的 asp:BoundField 標籤中加入 DataFormatString="{0:d}" 並設定 htmlencode="false",即可移除多餘的時間部分,僅顯示短日期格式。
<asp:BoundField DataField="BeginDate" HeaderText="開始時間"
DataFormatString="{0:d}" htmlencode="false"
HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Center" />
{0:d}:短日期格式(如 2008/07/04){0:D}:長日期格式(如 2008年7月4日){0:t}:短時間格式{0:T}:長時間格式{0:g}:常用日期時間(短日期+短時間){0:G}:常用日期時間(短日期+長時間)關鍵提醒:必須同時設定 htmlencode="false",否則格式化字串會被 HTML 編碼而失效。
若資料來源為 DateTime 型別,上述方法完美運作;若資料為字串型別,需先轉型為 DateTime 再格式化。建議在資料綁定前於後端統一處理資料型別,避免前端顯示異常。