使用 ToString 将日期显示到该月的第一天。我是不是该?
Using ToString to display a Date to the first of the month. Should I?
我需要在合同中添加日期。律师说日期必须显示为该月的第一天。
过去我总是创建一个新日期,并为显示格式化该日期。
NewEffDate = new DateTime(effectiveDate.Year, effectiveDate.Month, 1);
NewEffDate.ToString("MM/dd/yyyy");
我突然想到,我可以在格式化显示日期时简单地这样做。
effectiveDate.ToString("MM/1/yyyy");
有什么理由我不应该用 ToString 来做吗?
我想知道我是因为以前没有看到这个而变得密集还是因为在格式化时这样做不是一个好主意。
如果只需要打印这个日期,可以随意使用
我建议您使用以下方法获取该月的第一天:
NewEffDate = new DateTime(effectiveDate.Year, effectiveDate.Month, 1);
然后使用您的这段代码:
NewEffDate.ToString("MM/dd/yyyy");
总之,你的方案也行,用起来省心。但我更喜欢使用上面的代码来解决这个问题。
简短的回答 - 不,看起来不错。
更长的答案 - 这取决于:你还用 NewEffDate
做了什么?有多少行代码从它到它的 ToString
?这些问题将引导您更轻松地进行维护:)
我需要在合同中添加日期。律师说日期必须显示为该月的第一天。
过去我总是创建一个新日期,并为显示格式化该日期。
NewEffDate = new DateTime(effectiveDate.Year, effectiveDate.Month, 1);
NewEffDate.ToString("MM/dd/yyyy");
我突然想到,我可以在格式化显示日期时简单地这样做。
effectiveDate.ToString("MM/1/yyyy");
有什么理由我不应该用 ToString 来做吗?
我想知道我是因为以前没有看到这个而变得密集还是因为在格式化时这样做不是一个好主意。
如果只需要打印这个日期,可以随意使用
我建议您使用以下方法获取该月的第一天:
NewEffDate = new DateTime(effectiveDate.Year, effectiveDate.Month, 1);
然后使用您的这段代码:
NewEffDate.ToString("MM/dd/yyyy");
总之,你的方案也行,用起来省心。但我更喜欢使用上面的代码来解决这个问题。
简短的回答 - 不,看起来不错。
更长的答案 - 这取决于:你还用 NewEffDate
做了什么?有多少行代码从它到它的 ToString
?这些问题将引导您更轻松地进行维护:)