Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将时间戳转换为HH:MM:SS格式_C#_Asp.net_Oracle_Datetime_Timespan - Fatal编程技术网

C# 将时间戳转换为HH:MM:SS格式

C# 将时间戳转换为HH:MM:SS格式,c#,asp.net,oracle,datetime,timespan,C#,Asp.net,Oracle,Datetime,Timespan,您好,我正在处理Oracle存储过程,其中我减去了两个日期,并返回Timespan,如+00 hh:mm:ss.ff格式。现在我只想在存储过程或asp.net应用程序中访问hh:mm:ss格式。当我试图返回timespan时,它是我减法后得到的结果,我找不到读取它的方法,因为它不是日期时间。我想以HH:MM:SS格式从数据库侧或前端显示时间跨度。我试着使用以下方法 1)TO_DATE( TO_CHAR(((MAX(COMPLETED_DATE)-MAX(REQUEST_DATE))*24),'

您好,我正在处理Oracle存储过程,其中我减去了两个日期,并返回Timespan,如+00 hh:mm:ss.ff格式。现在我只想在存储过程或asp.net应用程序中访问hh:mm:ss格式。当我试图返回timespan时,它是我减法后得到的结果,我找不到读取它的方法,因为它不是日期时间。我想以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

两个日期的差异不是日期时间,而是时间跨度。你不需要用字符串来表达

您应该能够返回:

MAX(S.COMPLETED_DATE)-MAX(S.REQUEST_DATE)
结果应该以
TimeSpan
的形式输入C。然后,您可以使用一个用于以您想要的任何格式输出的

如果由于某种原因不起作用,请考虑将两个日期分别从甲骨文返回,然后在C代码中减去它们。