java - 在 Java 上格式化日期

标签 java mysql date

我有一个具有以下格式的字符串:january_2005 (MMMMMMM_yyyy)

我想将它转换为 mysql 可接受的日期值以将其插入数据库。

我需要在 Java 上完成。

有人知道怎么做吗?

谢谢

最佳答案

根据SimpleDateFormat API该模式实际上是 MMMM_yyyy

因此,要从这个 String 中得到一个有值(value)的 java.util.Date,您需要这样做:

String stringDate = "january_2005";
Date date = new SimpleDateFormat("MMMM_yyyy").parse(stringDate);

如果那些月份预计总是英语,而运行它的机器的 Locale 不是(总是)英语,那么您最好指定 Locale还有:

Date date = new SimpleDateFormat("MMMM_yyyy", new Locale("en")).parse(stringDate);

要将其保存在数据库中,请使用 PreparedStatement#setDate() .您需要先将 java.util.Date 转换为 java.sql.Date

preparedStatement = connection.prepareStatement("INSERT INTO mytable (somedate) VALUES (?)";
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));

关于java - 在 Java 上格式化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927663/

相关文章:

java - mysql比较两个日期

php - mysqli_fetch_assoc()期望参数1为mysqli_result,尽管插入了两个表

java - 我如何将 MS Word 的书签导入并读取到 Java

java - 我有一个项目要求我创建按钮,用户输入圆的半径和位置,然后用户单击按钮来绘制圆

java - 每个线程一个 Random 实例,由原始 Random 实例播种以获得可重复性

MySQL - 获取两个字段中出现的一对值

mysql - MySQL 中的行位置

powershell - PowerShell日期时间转换

java - 从今天日期删除日期或星期或月份的代码

java - NetBeans IDE 添加网格布局时出现问题