我有一个字符串,其值的格式为:01-Jul-2011 12:52:00。
我想将其格式化以插入到类型为 DATETIME 的 MySQL 数据库中。
我意识到我需要以 01-07-2011 12:52:00 的形式获取它,但我不知道该怎么做。
有什么解决办法吗?
最佳答案
@Jigar 是正确的,即使不简洁。但看起来您可能需要更多信息,我将用勺子喂给您。
首先,您不应该尝试格式化日期以适应 mysql。您应该将日期作为参数传递给您的 sql 查询(而不是构建 sql 字符串)。
要从您的输入中解析日期,请尝试这样的代码:
public static void main(String[] args) throws Exception {
String input = "01-Jul-2011 12:52:00";
SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Date date = format.parse(input);
System.out.println(date); // "Fri Jul 01 12:52:00 EST 2011"
}
这是一个如何使用 JDBC 连接器传递参数进行 sql 调用的示例:
Date date = format.parse(input);
jdbcConnection.createStatement().execute("insert into mytable (id, some_date) values (?, ?)", new Object[]{1, date});
您无需担心如何格式化 mysql 的日期 - 让 JDBC 驱动程序为您完成。
关于Java格式自定义日期到MySQL DATETIME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6746564/