DateTime.Today.ToString(“dd / mm / yyyy”)返回无效的DateTime值
我想以GBR格式获取今天的日期,但是,
DateTime.Now.ToString("dd/mm/yyyy");
返回值为08/00/2013
因此返回月份组中的00
而不是返回04
月份。
任何想法为什么会这样?
较低的mm
意味着分钟,所以
DateTime.Now.ToString("dd/MM/yyyy");
要么
DateTime.Now.ToString("d");
要么
DateTime.Now.ToShortDateString()
工作 。
标准日期和时间格式字符串
使用MM
(月)而不是mm
(分钟):
DateTime.Now.ToString("dd/MM/yyyy");
点击此处查看更多格式选项。
它应该是MM
几个月。 你要几分钟。
DateTime.Now.ToString("dd/MM/yyyy");
有关详细信息,请参阅MSDN上的自定义日期和时间格式字符串 。
使用MM
几个月。 mm
是几分钟。
DateTime.Now.ToString("dd/MM/yyyy");
您可能在开始时间( 00:00
: 05.00
)开始运行此代码, mm
给出日期时间的分钟( 00
)。
从Custom Date and Time Format Strings
“mm” – >分钟,从00到59。
“MM” – >月份,从01到12。
这是一个DEMO
。 (第一行的月份部分取决于您运行此代码的时间;)
)
除了其他答案所说的内容之外,请注意“dd / MM / yyyy”中的“/”字符不是文字字符:它表示当前用户文化的日期分隔符。 因此,如果当前文化使用yyyy-MM-dd日期,那么当您调用toString时,它将为您提供日期,例如“31-12-2016”(使用短划线而不是斜线)。 要强制它使用斜杠,您需要转义该字符:
DateTime.Now.ToString("dd/MM/yyyy") --> "19-12-2016" for a Japanese user DateTime.Now.ToString("dd/MM/yyyy") --> "19/12/2016" for a UK user DateTime.Now.ToString("dd\\/MM\\/yyyy") --> "19/12/2016" independent of region