日期格式应该是什么图层?

时间:2010-02-09 19:37:08

标签: user-interface formatting date

日期格式化系统的哪一层?从数据库(数据层)中选择日期时应该格式化日期还是应该在表示层格式化日期? 我认为格式化是一种视觉偏好,所以我倾向于尽可能接近表示层。

您在哪里存储首选日期的格式字符串?

6 个答案:

答案 0 :(得分:7)

日期(也像金钱和其他数字格式)应该在表示层格式化。格式字符串通常是区域设置信息的一部分。我建议阅读国际化(也称为i8n)。鉴于你的绰号是C#'ish,这里是一个值得一看的地方:

Microsoft .Net Internationalization

答案 1 :(得分:1)

您应该在表示层设置日期格式。我通常会将date属性作为字符串类型放在我的ViewModel上,并在ViewModel上设置时进行格式化。将其作为常规日期对象存储在您的实体中。

答案 2 :(得分:1)

日期应格式化为尽可能接近演示文稿,就像您所述。

如果操作系统已经有格式化信息(本地化),请使用它并且不要存储副本!

答案 3 :(得分:1)

绝对是的,格式化在表示层中发生。直到那时为止,您以最合理的内部格式保存数据 - 对于日期,可能是DATETIME或等效的,或作为二进制表示;什么是最好的分类,存储等。

你不会将它变成任何实际上看起来的日期,直到它需要显示(或以人类可读的形式输出),此时你将其转换并应用任何区域或自定义格式属性。

这些属性本质上是您的“格式化字符串”,您可以将它们存储在数据库中(如果是集中的),也可以存储在用户PC上的本地配置文件中。就个人而言,我倾向于在数据库中保留“标准”或“通用”默认规则,然后在显示点添加特定于用户或区域的覆盖。

答案 4 :(得分:0)

所有格式化应在表示层IMHO

完成

答案 5 :(得分:0)

在表示层进行格式化的另一次投票。我再往前看一下,看看日期是否应该以UTC格式存储在数据库中,并且流程中的转换会更高。