Звучит как хороший кандидат на класс-оболочку, который используется для форматирования DateTime в соответствии с бизнес-правилами:
public class BusinessDateTimeFormatter
{
public BusinessDateTimeFormatter(DateTime dateTime)
{
_dateTime = dateTime;
}
public override string ToString()
{
return String.Format("{0} {1}:{2}", _dateTime.Date, _dateTime.Hour + 1, _dateTime.Minute);
}
}
В качестве альтернативы, а может быть, даже более правильно, вы можете создать тип, который представляет бизнес-идею DateTime. В объектно-ориентированном проектировании такая замена примитивных типов пользовательскими типами происходит часто, поскольку моделируемый домен имеет особые ограничения, подобные описанному вами.