【问题标题】:Set date format dd/mm/yyyy in SQL table在 SQL 表中设置日期格式 dd/mm/yyyy
【发布时间】:2016-03-25 02:19:03
【问题描述】:

我想以 dd/mm/yyyy 格式将日期保存在我的数据库中,因为我想在 JTable (Java SE) 中导入包含它们的表,并且我想以这种格式显示它们。是否可以以这种格式直接将日期保存在我的数据库中,或者我必须以其他方式保存?我的数据库是用 SQL 编写的,我使用的是 MySQL。

【问题讨论】:

  • 我建议你在mysql中用特定的Date类型保存日期。让java格式化日期。
  • 最好将存储与展示分开。数据库将根据需要存储日期。您的前端是担心格式的最佳场所。
  • 谢谢,我试试看。

标签: java mysql sql jtable


【解决方案1】:

使用 DATE_FORMAT 函数更改 MySQL 中日期的格式。

 SELECT DATE_FORMAT(CURDATE(),'%d/%m/%Y')
 SELECT DATE_FORMAT(column_name,'%d/%m/%Y') # FROM tablename

详情请参阅documentation

【讨论】:

    【解决方案2】:

    你做不到, 否则您必须使用 VARCHAR 或 CHAR,但不建议这样做。

    将日期保存为 DATE 数据类型,格式为 yyyy-mm-dd。 不要惹它。

    当您获取记录时,使用 DATE_FORMAT 函数将其转换为您的格式。 (如果你使用 MySQL)

    喜欢

        SELECT DATE_FORMAT(CURDATE(), '%d-%m-%Y');
    

    你的情况

        SELECT DATE_FORMAT(< your_date_field >, '%d-%m-%Y');
    

    【讨论】:

      【解决方案3】:

      日期是日期。它不存在日期格式。

      你可以获得的是一个从日期开始的特定格式的字符串。

      请注意,格式可能不是dd/mm/yyyy,而是dd/MM/yyyy,因为mm 是几分钟,而不是几个月。

      所以基本上你有两种可能性:

      • 将日期保存为 Date 并将其检索为具有请求格式的字符串
      • 将日期转换为字符串并将其保存为格式化字符串(例如 VARCHAR)

      要在 MySql 中将日期转换为字符串,您可以使用函数DATE_FORMAT

      如果您想在 java 中转换它们,您可以使用 SimpleDateFormat

      【讨论】:

      • 我认为使用 SimpleDateFormat 对我来说更好。谢谢!
      【解决方案4】:

      不可能以指定的格式保存日期,但是您可以将该字段的类型设置为字符串(在 MySql varchar 中),您可以保存任何您想要的。

      【讨论】:

        猜你喜欢
        • 2016-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-10
        相关资源
        最近更新 更多