【问题标题】:How to manage storing and showing date in different formats?如何管理以不同格式存储和显示日期?
【发布时间】:2011-06-16 11:33:49
【问题描述】:

我在 dd/MM/yyyy 格式的表单中获取日期,但在数据库中它不是存储日期的格式。在这里我遇到了困难。

请指导我应该如何管理它

要求只是用户应以 dd/mm/yyyy 格式输入日期,并在查看数据时应以相同格式显示。当我输入并保存它时出现问题,在获取数据时它显示错误的日期/格式。

【问题讨论】:

    标签: c# sql-server ms-access .net-3.5


    【解决方案1】:

    您应该在输入数据时采用特定格式。您可以使用DateTime.ParseExact 等方法将特定格式的输入字符串转换为日期/时间数据类型。将数据库中的值存储为日期/时间数据类型(而不是字符/字符串数据类型)。在检索和显示值时,使用DateTime.ToString 转换为特定格式。

    【讨论】:

    • +1 - 格式化和解析是表示层的问题。 OP 应该使用 Native Date 存储来存储内存和数据库。
    【解决方案2】:

    我建议您将日期保存为数据库中的smalldatetime。您可以通过执行DateTime.Parse("dd/MM/yyyy") 将字符串转换为.net DateTime 对象。从数据库中获取日期后,您可以通过将其转换为带有theDate.ToString("dd/MM/yyyy") 的字符串以正确的格式显示。

    【讨论】:

    • 呃,smalldatetime 是一种 SQL Server 数据类型,对吧?这与 Access/Jet/ACE 数据库有什么关系?
    • @David 问题被标记为 sql-server,不是吗?
    • 那么我很困惑为什么它被标记为 Access —— 如果数据库是 SQL Server 并且编程环境是 C#,那么 Access 到底在做什么?
    【解决方案3】:

    您必须使用.ToString(); 格式化输出 Check this

    【讨论】:

      猜你喜欢
      • 2018-11-09
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 2015-03-19
      相关资源
      最近更新 更多