将具有自定义日期格式的字符串转换为时间戳

问题描述 投票:0回答:0

我有一个包含毫秒和 AM/PM 的字符串以及日期时间显示,我需要将此值存储在时间戳数据库字段中。当我尝试 setString(strVal) 时,它没有采用完整值。

现有代码(工作)

baseEntity.setLastUpdatedTimestamp(new Timestamp(new Date().getTime()));

 @Column(name = "lastUpdatedTimestamp")
 private Timestamp lastUpdatedTimestamp;

 public void setLastUpdatedTimestamp(Timestamp lastUpdatedTimestamp) {
    this.lastUpdatedTimestamp = lastUpdatedTimestamp;
 }

在数据库中,值存储为:22-JUL-23 06.08.39.132000000 PM

数据库数据类型:T01_LAST_UPDT_USER_C VARCHAR2(8 BYTE)

我的需求是通过比较存储的值来获取记录来获取当前时间并超过24小时。

String pattern = "dd-MMM-yy hh.mm.ss_SSSSSSSSS a";
 LocalDateTime nowTime = LocalDateTime.now();
 String strVal = DateTimeFormatter.ofPattern(pattern).format(nowTime); 
 // O/P of Strval: 28-Jul-23 12.38.42_575595400 PM
 
 String sqlquery = SELECT T01_LAST_UPDT_S FROM T01_TXN WHERE T01_LAST_UPDT_S<(?-?)";
 
 PreparedStatement stmt = conn.prepareStatement(sqlquery);
 
 stmt.setString(1, strVal);  // ERROR HERE
 stmt.setString(2, "- INTERVAL '24' HOUR");

我需要在数据库中存储“相同的格式”,这怎么可能?

java string timestamp datetime-format sql-timestamp
© www.soinside.com 2019 - 2024. All rights reserved.