Те, кто говорит вам просто всегда использовать дату и время, не прочитали ваш вопрос полностью и пропустили ту часть, где у вас есть проблемы с переходом на летнее время. Обычно я сам рекомендую datetime, но бывают случаи, когда этот тип может вас подвести.
В этом случае, поскольку у вас, по-видимому, уже есть код для обработки преобразований типа int => datetime, где это необходимо, вы также можете придерживаться этого.
С другой стороны, если вы собираетесь использовать SQL Server 2008 (а не 2000 или 2005), есть новые типы datetime2
и datetimeoffset
, которые могут лучше соответствовать вашим потребностям, и вы можете рассмотреть возможность рефакторинга.