You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中移除日期时间'T'并转换为PostgreSQL Timestamp方法咨询

嘿,针对你这个把JSON里的ISO datetime转成PostgreSQL timestamp格式的需求,我给你整理了几个实用的Java实现方案,从简单到严谨都有:

方案1:简单字符串替换(快速粗暴但有效)

如果你的JSON里的dateTime字段严格遵循yyyy-MM-dd'T'HH:mm:ss这种固定格式,直接把中间的'T'替换成空格就完事了,完全不需要额外的日期处理类,效率最高:

// 假设已经从JSON中提取出dateTime字符串
String jsonDateTime = "2018-06-02T15:49:23";
String sqlTimestampStr = jsonDateTime.replace('T', ' ');
// 接下来把sqlTimestampStr作为参数传入存储过程即可
方案2:用Java 8+的DateTimeFormatter(更严谨)

如果担心dateTime格式可能有变体(比如带毫秒2018-06-02T15:49:23.123或者时区信息),用Java自带的java.time包来解析再格式化会更安全,还能自动校验格式合法性:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTimeConverter {
    public static void main(String[] args) {
        String jsonDateTime = "2018-06-02T15:49:23";
        // 解析ISO标准的日期时间字符串
        LocalDateTime dateTime = LocalDateTime.parse(jsonDateTime);
        // 格式化为PostgreSQL需要的不带T的格式
        String sqlTimestampStr = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        
        // 后续将sqlTimestampStr传入存储过程
    }
}

这个方法能兼容大部分合法的ISO 8601格式,就算输入带毫秒,格式化后也会自动去掉(如果不需要保留毫秒的话),要是需要保留,把格式改成yyyy-MM-dd HH:mm:ss.SSS就行。

方案3:直接通过JDBC传递类型(最推荐,无需手动转字符串)

其实根本不用自己折腾字符串转换!PostgreSQL的JDBC驱动(版本42.2及以上)完全支持直接传递LocalDateTime对象,驱动会自动处理和数据库timestamp类型的映射:

import java.sql.CallableStatement;
import java.sql.Connection;
import java.time.LocalDateTime;

// 假设你已经获取了有效的数据库连接Connection conn
String jsonDateTime = "2018-06-02T15:49:23";
LocalDateTime dateTime = LocalDateTime.parse(jsonDateTime);

// 调用存储过程的示例代码
String callSql = "{call your_stored_procedure(?)}";
try (CallableStatement cs = conn.prepareCall(callSql)) {
    // 直接设置LocalDateTime类型参数,JDBC驱动自动处理格式
    cs.setObject(1, dateTime);
    cs.execute();
} catch (Exception e) {
    e.printStackTrace();
}

这个方案是最稳妥的,避免了手动字符串处理可能出现的格式错误,也符合JDBC的最佳实践。

额外注意点

  • 如果你还在使用Java 8之前的版本,可以用Joda-Time库来替代java.time包,用法类似。
  • 确保你的PostgreSQL JDBC驱动是最新版本,对java.time系列类型的支持更完善。

内容的提问来源于stack exchange,提问作者ThatMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:06:00