将TimeStamp转换为HH:MM:SS格式

时间:2014-04-21 14:38:57

标签: c# asp.net oracle datetime timespan

您好我正在处理Oracle存储过程,其中我正在减去两个日期并返回Timespan,如+00 hh:mm:ss.ff格式,现在我只想访问HH:MM:SS格式化在存储过程或asp.net应用程序中。当我尝试返回时间跨度,因为它是减法后我得到的结果,我找不到一种方法来阅读它,因为它不是日期时间。我希望从数据库端或前端端显示HH:MM:SS格式的时间跨度。我尝试使用以下方法。

 1)TO_DATE( TO_CHAR(((MAX(COMPLETED_DATE)-MAX(REQUEST_DATE))*24),'YYYY-MON-DD HH24:MI:SS'),'YYYY-MON-DD HH24:MI:SS') 

以便稍后我可以从中提取hh:mm:ss,但这是抛出错误

 2)  TO_CHAR(((MAX(S.COMPLETED_DATE)-MAX(S.REQUEST_DATE))*24))

以+00 hh:mm:ss.ff格式返回时间,我无法从中提取hh:MM:SS

1 个答案:

答案 0 :(得分:1)

两个日期的差异不是DateTime,而是TimeSpan。你不应该使用字符串来传达它。

应该能够返回:

MAX(S.COMPLETED_DATE)-MAX(S.REQUEST_DATE)

结果应该是C#中的TimeSpan类型。然后,您可以使用custom TimeSpan format string输出您想要的任何格式。

如果由于某些原因不起作用,请考虑将这两个日期与Oracle分开,然后在C#代码中减去它们。