2017-04-23 57 views
-3

我正在创建一个有总时间字段的aspx.net页面。我想在文本框中将总时间显示为INT,因此我可以将它乘以每小时的成本,以获得总成本文本框。 Example将时间像00:00:00转换为int C#

+1

'TimeSpan.ParseExact',也许? –

+1

'int'什么?毫秒?小时?你从哪里得到“每小时成本”?它的单位是什么? –

+0

每小时的成本将是在sql查询单元格6中定义的人工成本。这是一个INT – NMatheny

回答

1

您可以在日期时间字段上使用.TotalHours

0

我最终以另一种方式执行任务。我只是在我的sql查询中添加了另一列。对于那些寻求的解决方案,我的查询是

DECLARE @techID INT 
SET @techID = 1 
SELECT  Customer.firstName, Customer.lastName, Invoice.invoiceDate, 
Invoice.timeStart, Invoice.timeEnd, Techs.hourlyRate, 
      CAST(DATEADD(MINUTE, DATEDIFF(MINUTE, Invoice.timeStart, 
Invoice.timeEnd), '2017-01-01 00:00:00.000') AS TIME) AS [Total time], 
      CAST(DATEDIFF(hh, timeStart, timeEnd) AS INT) * hourlyRate AS 
[Total Cost] 
FROM   Customer INNER JOIN 
        Invoice ON Customer.customerID = Invoice.CustomerID 
INNER JOIN 
        Techs ON Invoice.TechID = Techs.techID 
WHERE  (Techs.techID = @techID) 
GROUP BY Customer.firstName, Customer.lastName, Invoice.invoiceDate, 
Invoice.timeStart, Invoice.timeEnd, Techs.hourlyRate 

这提供了下表Updated Example