BEARBEITEN: Laut dem Kommentar, die Typen sind eigentlich TimeSpan
anstatt DateTime
, zu welchem Zeitpunkt alles einfach ist.
Wenn Sie fragen, welchen Anteil X von Y ist, das ist im Grunde Division, die sich leicht auf TimeSpan
implementiert:
public static double Divide(TimeSpan dividend, TimeSpan divisor)
{
return (double) dividend.Ticks/(double) divisor.Ticks;
}
Beispielcode:
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;
}
}
Was ist '34: 23'? Das ist keine gültige Zeit? – mattytommo
Sind Sie sicher, dass X und Y beide eine 'DateTime' sind? Wäre sinnvoller, wenn beide ein "TimeSpan" wären. –
@mattytommo Ich denke, es ist 34 Minuten und 23 Sekunden ... –