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:0005.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