gpt4 book ai didi

c# - 自定义日期格式化程序未输出我期望的内容

转载 作者:行者123 更新时间:2023-11-30 16:02:36 24 4
gpt4 key购买 nike

考虑一下:

DateTime.Now.ToString("d")//2016 年 5 月 26 日

我希望上面的输出“26”,因为“d”是自定义格式的“日”说明符。

此代码输出我所期望的,但尾随空格:

DateTime.Now.ToString("d ")//26

但文档对此只字未提!

https://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

最佳答案

这是Standard Format String之间的区别和一个 Custom Format String .这两种类型的格式字符串被单独记录,但它们被相同的方法使用(不仅是 DateTime.ToString(),还有 String.Format() 和许多其他方法)地方)。为了能够将相同的输入解释为任一类型的格式字符串,必须首先检查输入是否与标准格式字符串匹配,并且当且仅当匹配失败时才使用自定义格式,如文档摘录中所述对于自定义格式字符串:

Any string that is not a standard date and time format string is interpreted as a custom date and time format string.

以及来自标准格式字符串的文档:

Any date and time format string that contains more than one character, including white space, is interpreted as a custom date and time format string;

在这种情况下,“d” 匹配短日期的标准格式,因此 5/26/2016 结果(并且您必须在另一边来 self 的大西洋)。但是 "d " 不是标准格式字符串,当评估为自定义格式字符串时,仅显示当月的当天。

如果你只想要一个月中的第几天,没有尾随空格,你可以这样做:

DateTime.Now.Day.ToString()

关于c# - 自定义日期格式化程序未输出我期望的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37449964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com