Проверьте, находится ли DateTime между несколькими часами с текущей культурой? - PullRequest
0 голосов
/ 28 марта 2020

Я хотел бы знать, если час времени между 2 часами. теперь я сохраняю дату и время таким образом:

var resultsDate = DateTime.Now;

и чтобы выбрать часы и минуты, которые я хочу проверить, я показываю диалог, показывающий пользователю, который выбирает время, и я сохраняю часы и минуты как строка таким образом (я сохраняю 2 из них):

selectedTime.ToString("HH:mm", System.Globalization.CultureInfo.InvariantCulture)

, а затем, если дата находится между 2 часами и минутами, я проверяю это таким образом:

var getTimeRangeFrom1 = System.Text.RegularExpressions.Regex.Split(timeRangeFrom1, ":");
var getTimeRangeTo1 = System.Text.RegularExpressions.Regex.Split(timeRangeTo1, ":");

            int RangeFrom1Hours = 0;
            if (!Int32.TryParse(getTimeRangeFrom1[0], out RangeFrom1Hours))
                RangeFrom1Hours = 0;
            int RangeFrom1Minutes = 0;
            if (!Int32.TryParse(getTimeRangeFrom1[1], out RangeFrom1Minutes))
                RangeFrom1Minutes = 0;
            int RangeTo1Hours = 23;
            if (!Int32.TryParse(getTimeRangeTo1[0], out RangeTo1Hours))
                RangeTo1Hours = 23;
            int RangeTo1Minutes = 59;
            if (!Int32.TryParse(getTimeRangeTo1[1], out RangeTo1Minutes))
                RangeTo1Minutes = 59;

    x.Date.Hour >= RangeFrom1Hours && x.Date.Hour <= RangeTo1Hours && x.Date.Minute >= RangeFrom1Minutes && x.Date.Minute <= RangeTo1Minutes

Где RangeFrom1Hours & timeRangeTo1 - это что-то вроде «ЧЧ: мм», но я получаю разные результаты для разных временных культур.

Должен ли я прекратить преобразовывать время в строку и проверить его другим способом?

...