我有一个 Date
已转换为 String
以传递给 Java Socket
服务器。此值的一个示例是 06:19:18p.m。 2011 年 1 月 13 日
。
在 Socket
服务器中,我试图在将其写入 SQL 数据库表之前将其转换回 Date
值,但转换后的值为 空
。我也曾尝试将该值作为原始 String
写入 SQL 数据库,但它不会写入,除非其中没有冒号、句号或正斜杠字符。
有什么办法可以解决这个问题吗?很抱歉,我无法查看或发布堆栈跟踪,因为我没有对运行我的 Jar 文件的服务器的管理员访问权限。
我转换 String
的代码是:
Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ssa dd/MM/yyyy");
try {
date = sdf.parse(timestamp);
}
catch (ParseException e) {
e.printStackTrace();
}
最佳答案
我不确定您为什么不能正确解析,但您对此的想法全错了。不要将 String 保存在数据库中,您应该创建 TIMESTAMP 或 DATE 类型的列。然后您可以使用 JDBC 中的 getDate() 来获取日期对象。
关于Java 字符串到日期转换为 null,写入 SQL 数据库问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4683773/