2012-05-13 87 views
1

我的數據庫存儲的時間在SQL數據類型的時間。我在vb.net中使用mvc 3並試圖讓時間以標準格式顯示(AM/PM)。但是,我不斷收到一個錯誤「無法投射'System.TimeSpan'類型的對象來鍵入'System.IConvertible'。」顯示SQL數據類型時間作爲標準時間

這是我使用

<h4>Tuesday</h4> 
<ul> 
@For Each c As ClassSchedule In ViewBag.Tuesday 

    @<li>@c.timeStart - @c.timeEnd - @c.name</li> 

Next 
</ul> 

任何幫助表示讚賞代碼。

+0

究竟什麼是 'ClassSchedule'? –

+0

見http://www.codeproject.com/Questions/193507/How-to-operate-arithmetic-operation-on-dates –

+0

課程表是一個對象:ID,timestart,timeend,名 –

回答

1

編輯:

@<li> 
    @(new DateTime(c.timeStart.Ticks).ToString("hh:mm:ss tt")) - 
    @(new DateTime(c.timeEnd.Ticks).ToString("hh:mm:ss tt")) - @c.name 
</li> 

Eror發生becuse你減去你的時間跨度日期

@<li> 
    <span>@c.timeStart </span>- 
    <span>@c.timeEnd </span>- 
    <span>@c.name</span> 
    </li> 

+0

當它不試圖將格式轉換爲日期時間時,它工作正常。這不是問題。 –

+0

好的。我編輯答案。測試 – Morteza

0

您可以顯式調用toString()方法。

+0

我已經試過這樣:// @

  • c.timeStart.ToString(「T」) - @ c.timeEnd - @ c.name
  • - 但它不工作 –

    +0

    爲什麼你認爲你必須調用以「t」作爲參數的ToString? –

    +0

    轉換爲標準時間?問題心不是在顯示時間 - 它在標準格式 –

    0

    想通了---你有時間轉換爲字符串第一

    @

  • @ Convert.ToDateTime(c.timeStart.ToString).ToShortTimeString - @ Convert.ToDateTime(c.timeEnd.ToString ).ToShortTimeString - @ c.name