这将是一个配置选项,在我们的软件,所以我仍然需要支持正常的00-23以及,所以我希望我可以做到这一点,以某种方式与格式字符串。但我也在考虑使用正则表达式来后置处理结果字符串,如果这样做更容易的话。
谢谢!
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概念的类型。在面向对象设计中,这种用自定义类型替换基本类型的情况经常发生,因为要建模的域具有特殊的限制,就像您描述的那样。
http://msdn.microsoft.com/en-us/library/0asazeez(VS.71).aspx