EDIT: Theo nhận xét, các loại thực sự được dự định là TimeSpan
thay vì DateTime
, tại thời điểm đó mọi thứ đều đơn giản.
Khi bạn hỏi những gì X tỷ lệ là của Y, đó là về cơ bản chia, mà có thể dễ dàng thực hiện trên TimeSpan
: Mã
public static double Divide(TimeSpan dividend, TimeSpan divisor)
{
return (double) dividend.Ticks/(double) divisor.Ticks;
}
mẫu:
using System;
using System.IO;
using System.Globalization;
using System.Linq;
class Test
{
static void Main()
{
TimeSpan x = new TimeSpan(0, 34, 23);
TimeSpan y = new TimeSpan(4, 12, 31);
Console.WriteLine(Divide(x, y)); // 0.13616 etc, i.e. 13%
}
public static double Divide(TimeSpan dividend, TimeSpan divisor)
{
return (double) dividend.Ticks/(double) divisor.Ticks;
}
}
Nguồn
2013-03-26 13:56:07
là gì '34: 23'? Đó không phải là thời gian hợp lệ? – mattytommo
Bạn có chắc chắn X và Y là cả hai 'DateTime'? Sẽ có ý nghĩa hơn nếu cả hai đều là một 'TimeSpan'. –
@mattytommo Tôi đoán là 34 phút và 23 giây ... –