Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ToString可显示当月第一天的日期。我应该吗?_C#_Date_Tostring - Fatal编程技术网

C# 使用ToString可显示当月第一天的日期。我应该吗?

C# 使用ToString可显示当月第一天的日期。我应该吗?,c#,date,tostring,C#,Date,Tostring,我需要在合同上加一个日期。律师们说,日期必须显示为本月的第一天 在过去,我总是创建一个新的日期,并为显示设置该日期的格式 NewEffDate = new DateTime(effectiveDate.Year, effectiveDate.Month, 1); NewEffDate.ToString("MM/dd/yyyy"); 我突然想到,当我格式化显示日期时,我可以简单地做到这一点 effectiveDate.ToString("MM/1/yyyy"); 有什么理由我不应该用

我需要在合同上加一个日期。律师们说,日期必须显示为本月的第一天

在过去,我总是创建一个新的日期,并为显示设置该日期的格式

 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
之间有多少行代码?这些问题将引导您更容易地进行维护:)

您为什么要转换为字符串?看起来你应该创建一个新的日期,这样你就可以正确地进行排序/比较/等等。它们都有相同的结果,所以我会选择
.ToString(“MM/1/yyyy”)
,因为它更具可读性。显然,我不知道你的代码,但从你所说的内容来看,我不认为这是一个问题。不过,这取决于您对该值的使用情况,只有您才能真正回答这个问题。谢谢您的评论。对于这个问题,代码只将新日期插入xml文件中,该文件将被传递以生成合同文档。它仅在该合同上使用,与xml中显示的完全相同。它从不用于任何其他用途或存储在任何地方。我试图弄清楚使用格式化来更改数据是否是一种好的形式。