Я хотел бы посчитать оставшиеся минуты до «следующих» получаса или часа.
Скажите, я получаю строку времени начала 07:15
, я хочу, чтобы она подсчитала оставшиеся минуты до ближайших получаса (07:30)
.
That would be 15min.
Тогда у меня также может быть экземпляр, где время начала может быть 07:45
, и я хочу, чтобы оно вычисляло оставшиеся минуты до ближайшего часа (08:00)
.
That would also be 15min.
Таким образом, любая строка менее 30 минут в час будет вычисляться с точностью до получаса (..:30)
, а любая строка более 30 минут будет рассчитываться с точностью до часа (..:00)
.
Я не хочу делать кучу операторов if, потому что я получаю строки времени, которые могут начинаться с минуты и минуты.
Это то, что я не хочу делать:
if (int.Parse(fromTimeString.Right(2)) < 30)
{
//Do Calculation
}
else
{
//Do Calculation
}
public static string Right(this String stringValue, int noOfCharacters)
{
string result = null;
if (stringValue.Length >= noOfCharacters)
{
result = stringValue.Substring(stringValue.Length - noOfCharacters, noOfCharacters);
}
else
{
result = "";
}
return result;
}
Нет ли более простого способа с linq
или с DateTime
классом