为什么日期格式dd / MM / yy也显示时间?

时间:2012-10-04 19:45:09

标签: c# .net

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

怎么可能?

例如“dd MMMM,yyyy”没有显示任何时间。

感谢!!!

CODE

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

3 个答案:

答案 0 :(得分:2)

实际上,如果您不想格式化时间,可以根据MSDN使用标准格式“d”。如果你浏览他们的Standard Date and Time Formats,你会发现有一种方法可以改变文化信息以获得你想要的东西。

var completeDate = DateTime.Now.ToString("d");
编辑补充:

回答关于你的斜线无法正常工作的问题...... "The "/" custom format specifier represents the date separator, which is used to differentiate years, months, and days. The appropriate localized date separator is retrieved from the DateTimeFormatInfoDateSeparator property of the current or specified culture. If the "/" format specifier is used without other custom format specifiers, it is interpreted as a standard date and time format specifier and throws a FormatException. For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this topic."

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。

我把这最后一部分作为一个实际的答案添加了,虽然我看到,因为我花时间来获得实际的答案回答这个问题毫无价值......如果这是所有人想要的,那么他们不应该提问需要这样的答案。

答案 1 :(得分:2)

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

string a = String.Format("{0:MM/dd/yy}", DateTime.Now);

答案 2 :(得分:1)

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