Как насчет того, чтобы собрать части даты и времени вместе в одну строку и попробовать что-то вроде этого:
using System;
using System.Globalization;
public class Program
{
public static void Main()
{
Console.WriteLine(ParseDateAndTime("24/04/2020", 2359));
Console.WriteLine(ParseDateAndTime("1/1/2025", 1234));
Console.WriteLine(ParseDateAndTime("15/7/1999", 123));
Console.WriteLine(ParseDateAndTime("14/11/2005", null));
}
private static DateTime ParseDateAndTime(string dateValue, int? timeValue)
{
var combinedDate = $"{dateValue} {(timeValue ?? 0) / 100}:{(timeValue ?? 0) % 100}";
return DateTime.ParseExact(combinedDate, "d/M/yyyy H:m", CultureInfo.InvariantCulture);
}
}
Вывод сверху (в моем собственном локализованном американском месяце на дату, AM / Формат PM):
4/24/2020 11:59:00 PM
1/1/2025 12:34:00 PM
7/15/1999 1:23:00 AM
11/14/2005 12:00:00 AM