我有一个具有以下格式的字符串: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/