仅在数据库中存储没有时间的日期

时间:2014-01-19 15:45:55

标签: java mysql database netbeans

如何从Java发送仅限日期到具有DATE数据类型列的MySQL表中?我可以通过将字符串保存到数据库来实现这一点,但还有更好的方法吗?

我正在努力让员工无时间出勤。所以我只需要存储日期。

2 个答案:

答案 0 :(得分:8)

要存储仅日期,您需要DATE数据类型。


MySQL有三种数据类型用于存储日期和时间值:

  • DATE用于 date 部分的值,但没有时间 部分。 MySQL在' YYYY-MM-DD'中检索并显示DATE值。格式。
  • DATETIME类型用于包含 日期时间部分的值。 MySQL在' YYYY-MM-DD hh:mm:ss'中检索并显示DATETIME值。格式。
  • TIMESTAMP数据类型用于包含 日期时间部分的值。 TIMESTAMP有一系列' 1970-01-01 00:00:01' UTC到' 2038-01-19 03:14:07'世界标准时间。


更多细节可以在MySQL官方参考手册中找到:
The DATE, DATETIME, and TIMESTAMP Types

答案 1 :(得分:2)

  SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd"); 
  String input = "2014-01-19";  // capture the value you pass from attendance application
  Date t; 
  try { 
      t = ft.parse(input); 
      System.out.println(t); 
  } catch (ParseException e) { 
      System.out.println("Unparseable using " + ft); 
  }