Не существует прямого способа создания экземпляра DateTime
, основанного на долях секунды. Самое близкое, что вы можете получить, как вы обнаружили, это использовать галочки. Подобная функция должна по крайней мере избавить вас от необходимости создавать несколько DateTime
с в каждом случае.
public DateTime DateTimeFromFractionalSeconds(int year, int month, int day, int hour, int minute, double seconds)
{
return new DateTime(year, month, day, hour, minute).AddTicks((long)(seconds * 1000000000));
}
Вы правы, что дизайнеры могли включить такой конструктор. Однако класс DateTime
основан не на секундах больше, чем на минутах. Я понимаю, что вам нужны дробные секунды, но можете ли вы действительно доказать, что дробные секунды были бы более законными, чем дробные минуты? Или часы? Класс DateTime
основан на тиках. Это наименьшая неделимая единица измерения, с которой она имеет дело, поэтому самый точный конструктор представлен в тиках.