none
將資料會出Excel,TimeSpan轉Tostring的疑問 RRS feed

  • 問題

  • 小妹再寫一些關於工單的相關資料要匯出Excel,但在時間上卻沒辦法正確的顯示到Excel上面

    有一欄位是要顯示某工單的其中一工站的逾期的時間,

    程式語法如下

     delayWorkSheetItem.delayTime =(DateTime.Now - (station.TimeIn.Add(process.TimeLimit))).ToString("HH:ss:mm");

    即這行表示 逾期時間 = 現在時間 -(工站進站時間+此站所限制之作業時間)

    然後我直接把他轉成Tostring, 執行時卻出現錯誤,說是要轉的時間格式不符,還請各位大大協助。

    2016年11月19日 上午 04:05

解答

  • TimeSpan 有天的概念,hh <=23,是不是你超過 1 天?

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 LilliaHuang 2016年11月21日 上午 01:29
    2016年11月19日 下午 03:51

所有回覆

  • 我去找了 MSDN文件 "自訂TimeSpan格式字串

    似乎跟 DateTime 有點不一樣,你要寫成  ToString(@"hh\:ss\:mm")

    要加上"\" ,HH要用hh

    你的分秒顛倒是程式要這麼跑,還是寫錯了?

    2016年11月19日 上午 06:36
  • 看起來扣完之後就是DateTime的格式

    先拆開使用中斷點去看delayTime出來的值是多少

    再把值Format會比較清楚

    2016年11月19日 上午 09:47
  • TimeSpan 有天的概念,hh <=23,是不是你超過 1 天?

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 LilliaHuang 2016年11月21日 上午 01:29
    2016年11月19日 下午 03:51
  • 是的,有些時間是會超過1天的,我目前改成ToString(@"d\:HH\:mm\:ss")一樣是顯示格式錯誤。
    2016年11月21日 上午 01:27
  • 哎呀!感謝提示,我把HH改成hh之後就可行了,感謝大家的解答。
    2016年11月21日 上午 01:30