0

我想使用“dd/MM/yy”,但它也显示时间。

怎么可能?

例如“dd MMMM, yyyy”不会显示任何时间。

谢谢!!!

代码

  var completeDate = DateTime.Now.ToString("dd/MM/yy");
4

3 回答 3

2

实际上,根据MSDN ,如果您不想要时间格式,您可以使用标准格式“d” 。如果您查看他们的标准日期和时间格式,您会发现还有一种方法可以更改文化信息以获得您想要的。

var completeDate = DateTime.Now.ToString("d");

编辑添加:

要回答为什么你的斜杠不起作用的问题... ““/”自定义格式说明符表示日期分隔符,用于区分年、月和日。从 DateTimeFormatInfoDateSeparator 中检索适当的本地化日期分隔符当前或指定区域性的属性。如果在没有其他自定义格式说明符的情况下使用“/”格式说明符,则将其解释为标准日期和时间格式说明符并引发 FormatException。有关使用单个格式说明符的更多信息,请参阅在本主题后面使用单个自定义格式说明符。”

DateTime thisDate = new DateTime(2008, 3, 15);
CultureInfo culture = new CultureInfo("en-US");      
Console.WriteLine(thisDate.ToString("d", culture));  // Displays 15/3/2008

编辑以解决评论:要回答有关您为什么要获得时间格式的问题,是您计算机上的默认文化信息与您输入的格式字符串不匹配。我找不到原因,但我也这样做不知道您的计算机设置为哪种文化。发生这种情况时,它可能会默认返回到一般的 ShortTime 格式,或“g”,它也包括时间,并且是你在执行 DateTime.ToString() 时得到的,但它应该抛出一个 FormatException。

我将最后一部分添加为一种实际答案,尽管我发现当我花时间获得对实际回答的参考时,这个问题毫无价值......如果这就是某人想要的,那么他们不应该问需要答案的问题像这样。

于 2012-10-04T19:49:42.733 回答
2

这是另一种选择。它不包括时间,将所有内容都放在一行中......并让您在格式字符串中保留斜杠。

string a = String.Format("{0:MM/dd/yy}", DateTime.Now);
于 2012-10-04T20:36:52.380 回答
1

如果您不想要时间字符串,为什么不直接使用DateTime.Today.ToString("dd/MM/yy")

于 2012-10-04T22:05:24.980 回答