Я пытаюсь написать функцию, которая преобразует экземпляр DateTime.Now в число секунд, которое он представляет, чтобы я мог сравнить это с другим экземпляром DateTime. Вот что я сейчас имею:
public static int convertDateTimeToSeconds(DateTime dateTimeToConvert)
{
int secsInAMin = 60;
int secsInAnHour = 60 * secsInAMin;
int secsInADay = 24 * secsInAnHour;
double secsInAYear = (int)365.25 * secsInADay;
int totalSeconds = (int)(dateTimeToConvert.Year * secsInAYear) +
(dateTimeToConvert.DayOfYear * secsInADay) +
(dateTimeToConvert.Hour * secsInAnHour) +
(dateTimeToConvert.Minute * secsInAMin) +
dateTimeToConvert.Second;
return totalSeconds;
}
Я понимаю, что я усекаю расчет за секунды в год, но мне не нужны мои вычисления, чтобы быть точным. Я действительно хочу знать, правильный ли метод, который я использую для вычисления секунд.
Есть ли у кого-нибудь что-нибудь, что могло бы лучше вычислить секунды, данные из объекта DateTime?
Кроме того, должен ли тип возврата быть int64, если я кодирую на С#, если я собираюсь рассчитать все секунды с 0 AD?