Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 为什么这两种日期格式不同?_C#_.net_Datetime_Formatting - Fatal编程技术网

C# 为什么这两种日期格式不同?

C# 为什么这两种日期格式不同?,c#,.net,datetime,formatting,C#,.net,Datetime,Formatting,我试图在一个WPF文本块中只生成天数,不带前导零,也不带额外的空格填充(这会破坏布局)。第一个生成带有空格的日数,第二个生成整个日期。根据公式,“d”应该产生日期(1-31) 更新:添加%确实是个窍门。适当的文档。请参见 d、 %d 一个月的哪一天。一位数的天数没有前导零。如果格式模式未与其他格式模式组合,则应用程序指定“%d” 否则,d被解释为: d-“短期模式” 另外,对于处理格式字符串,使用是非常宝贵的。来自MSDN文档中的“自定义日期和时间格式字符串”: 不是标准日期的任何字符串 并解释

我试图在一个WPF文本块中只生成天数,不带前导零,也不带额外的空格填充(这会破坏布局)。第一个生成带有空格的日数,第二个生成整个日期。根据公式,“d”应该产生日期(1-31)

更新:添加%确实是个窍门。适当的文档。

请参见

d、 %d

一个月的哪一天。一位数的天数没有前导零。如果格式模式未与其他格式模式组合,则应用程序指定“%d”

否则,d被解释为:

d-“短期模式”


另外,对于处理格式字符串,使用是非常宝贵的。

来自MSDN文档中的“自定义日期和时间格式字符串”:

不是标准日期的任何字符串 并解释时间格式字符串 作为自定义日期和时间格式 绳子

{0:d}被解释为标准数据和时间格式字符串。从“标准日期和时间格式字符串”中,“d”格式说明符:

表示自定义日期和时间 由当前文件定义的格式字符串 ShortDatePattern属性

对于空格,{0:d}与任何标准日期和时间格式字符串都不匹配,并被解释为自定义数据和时间格式字符串。在“自定义日期和时间格式字符串”中,“d”格式说明符:

表示一个月中的某一天 从1到31的数字


{0:d}
格式使用中定义的模式d'转换为短日期模式,d'转换为长日期模式,等等

您想要的格式似乎是,当没有匹配的指定格式(例如,“d”包括空格)或使用ToString()时,该格式有效

您可以改为使用以下代码:

string.Format("{0}", DateTime.Today.ToString("d ", CultureInfo.InvariantCulture));

谢谢——“%”起作用了。适当的文档节位于。还包括一个冗余空间。
string.Format("{0}", DateTime.Today.ToString("d ", CultureInfo.InvariantCulture));