DateTime:如何显示为DD.MM.YYYY?

Cap*_*mic 6 .net c#

我有DateTime变量,我想将其转换为字符串"DD.MM.YYYY"请注意,值必须用"点"符号分隔.

当然我可以做手工字符串组合.但我想知道我是否可以DateTime.ToString() 用来做必要的转换.

Jon*_*eet 15

是的你可以:

string formatted = dt.ToString("dd'.'MM'.'yyyy");
Run Code Online (Sandbox Code Playgroud)

现在在这种情况下,实际上并不需要引号,因为自定义日期/时间格式字符串不以任何特殊方式解释点.但是,我喜欢明确 - 如果改变'.' 例如,对于':',当它被引用时,它将保留显式字符,但不引用它将是"特定于文化的时间分隔符".对我来说,"是否"并不完全明显.将被解释为"文化特定的小数分隔符",因此引用.当然,你可能觉得它超过了顶层 - 这完全是你的决定.

可能还想指定不变文化,只是为了消除任何其他疑点:

string formatted = dt.ToString("dd'.'MM'.'yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

(此时点周围的引号变得不那么相关,因为"."无论如何都是不变文化中的小数分隔符.)


Øyv*_*hen 8

是的,您可以像这样使用DateTime.ToString:

myDateVariable.ToString("dd.MM.yyyy");
Run Code Online (Sandbox Code Playgroud)

请注意,您必须在此处使用大写MM,因为mm的计算结果为分钟而不是几个月.