Я получаю строку в этом формате «7:00 - 23:00», представляющую время начала и окончания. Строка всегда будет иметь два раза. Теперь мне нужно отформатировать это в соответствии с сегодняшней датой и временем, так что в приведенном выше случае это легко. Это происходит 18 марта 7 утра - 18 марта 11 вечера, но есть крайний случай, когда время похоже на «7:00 - 12:00 утра», в этом случае его нужно будет преобразовать в 18 марта 7 утра - 19 12 марта.
Теперь я могу справиться с этим, если: D. Поэтому, когда второй токен меньше первого токена (например, «7:00 - 02:00»), я могу увеличить дату второй части.
string input = "7:00 am - 12:00 am";
List<DateTime> tokens = input.Split('-').Select(x => DateTime.Parse(x.Trim(), CultureInfo.GetCultureInfo("en-NZ"))).ToList();
if(tokens[1] < tokens[0]){
tokens[1] = tokens[1].AddDays(1);
}
Но я хотел бы знать, есть ли какой-либо встроенный способ в самом C # через Timespan, Datetime классы и т. Д. Для его обработки.