c# - 是否可以在 MSSQL 过程本身中格式化日期,以便它可以显示为非正式日期?

标签 c# asp.net sql-server

我希望日期和时间在我的页面上显示如下:-

 1 minute ago
25 minutes ago
45 minutes ago
4 hours ago
3 weeks ago

我的存储过程以下列格式返回日期:-

2011-02-08 13:14:44.513

我可以按照我希望它仅在 SP 中显示的方式对其进行格式化,还是必须在我的 aspx 页面后面的代码中进行编码?

最佳答案

数据库只是格式化内容的错误级别。这是工作:

  • 数据输入,数据输出(任何形式的查询/操作)
  • 稳健的持久性、完整性、原子性等 (ACID)
  • 除此之外

当然,您可以在数据库中格式化它,但是为什么要?这应该在您的应用程序层中完成,允许:

  • 缓存和重用不变的 2011-02-08 13:14:44.513(其中“1 分钟前”随时间不断变化)- 缓存数据等
  • 国际化和本地化
  • UI 的正确编码(是 html?xml?xaml?csv?txt?winforms?)- 数据库不应该知道UI
  • “缩小”而不是“扩大”——不要在数据库中做超出你需要的事情;多个应用服务器比超强大的数据库服务器便宜

至于“在我的 aspx 页面后面的代码中编码”,你也不需要这样做;p(但是,我非常偏爱 MVC+razor)

关于c# - 是否可以在 MSSQL 过程本身中格式化日期,以便它可以显示为非正式日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493809/

相关文章:

c# - 事务死锁和 DBContext

c# - 在 IIS Express 中使用 PowerShell 作为 CGI 二进制文件

Asp.Net (vb) 在代码隐藏中强制回发

asp.net - 导致应用程序崩溃的未处理异常,日志中显示 "EventType clr20r3, P1 w3wp.exe",但没有详细信息

sql - 如果不等于,则仅获取一行

c# - asp.net中如何更改日期格式

c# - 使用C#删除硬盘驱动器上的可用空间

asp.net - 在 ASP.NET 中使用数据源控件真的很专业吗?

sql - 在 SQL Server 中,如何选择共享公共(public)列值的行?

SQL计算病假天数