如何在C#中格式化2010-11-24日期?

12

我正在使用

((DateTime)newsItem.Date).ToString(@"yyyy MM dd") 

这使我得到了2010年11月24日,但没有连字符。

我想在日期的数字之间加上连字符。


为什么要强制转换为 DateTime 类型?Date 是一个对象吗? - cjk
@ck 不,Date不是一个独立的对象。DateDateTime的属性,它返回一个时间设置为午夜的新DateTime。在这种情况下,不需要进行转换。 - cspolton
2个回答

32

你试过了吗

((DateTime)newsItem.Date).ToString(@"yyyy-MM-dd");

另外,由于您无论如何都会在ToString中格式化时间部分,因此您不需要添加.Date,您可以将其更改为

((DateTime)newsItem).ToString(@"yyyy-MM-dd");

3
没错,这个字符串中甚至不需要 "@" 符号,虽然加上也不会有任何影响:((DateTime)newsItem).ToString("yyyy-MM-dd"); - Matt Roberts
1
@Matt - 这是正确的。在这个字符串中没有需要转义的字符,因此在这种情况下它实际上是多余的。 - Øyvind Bråthen
实际上,他想要的格式是一个标准的日期时间格式字符串:http://msdn.microsoft.com/zh-cn/library/az4se3k1.aspx - DarrellNorton


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接