【发布时间】:2011-09-29 18:29:05
【问题描述】:
在为字符串表示格式化 DateTime 对象时,C# 提供了很大的灵活性,但是,必须了解所有格式字符串才能使用这种灵活性。
如果你想以“Fri, June 24”的形式显示一个日期,你可以这样做:
DateTime someDate = DateTime.Now;
Console.Write(someDate.ToString("ddd, MMMM dd"));
虽然这很好用,但对于更复杂的格式来说很难,尤其是对于第一次使用它的开发人员。
我想获得与上面代码返回的结果相同的结果,但是这样:
DateTime someDate = DateTime.Now;
Console.WriteLine(someDate.ToString("Wed, June 12"));
指定为字符串的日期可以是任意的。本质上,格式必须通过首先以某种方式解析日期来确定。我知道这种方法有局限性(本地化就是其中之一),但对于简单的场景,它更容易理解。除了自己实现之外,还有什么方法可以做到吗?我愿意使用第三方库。
【问题讨论】:
-
我不认为后者更具可读性。
-
如何计算 dd/MM/yy 和 MM/dd/yyyy 之间的差异?
-
抱歉,
someDate.ToString("ddd, MMMM dd")对我来说已经够清楚了... -
我觉得你的方法很不直观——只要学习格式字符串,学习起来并不难。
-
@Slavo,学习这个框架所做的假设和模棱两可调用的默认值不是更好地用于学习格式字符串或如何查找它们吗?