我试图使用字符串到时间戳的转换,从一般情况下提取对象向量。在本例中,mysql值的格式如下:“2022-06-29 10:08:22”,但当我打印字符串时,它的格式如下:“2022-06-29T10:08:22”。这里,我们注意到输出包括一个“T”字符。当我尝试使用时间戳进行转换时,我得到了一个错误。
代码:
data = new Object[0][0];
data[0][0]=rs.getObject(0); TimeStamp
createTimestampt= Timestamp.valueOf((String)data[0][0]));
在本例中,是一个过时的java类。sql。时间戳?。或者我错在哪里?
注意:Ojbect rs是java.sql.ResultSet的一个实例。出于明显的原因,没有包含所有代码。但是讨论了问题的本质。
谢谢你
谢谢
你忘了提到你列的数据类型。所以我不能告诉你使用哪一个。
要么:
OffsetDateTime odt = myResultSet.getObject( … , OffsetDateTime.class ) ;
…或:
LocalDateTime ldt = myResultSet.getObject( … , LocalDateTime.class ) ;
切勿使用旧类的时间戳。多年前,它被现代爪哇取代。时间类。具体来说,替换为即时和偏移日期时间。
JDBC 4.2及更高版本要求JDBC驱动程序支持java。时间类。
假设您正在访问的数据类型类似于SQL标准类型TIMESTAMP AND TIMZONE
的列,请检索OffsetDateTime
。
OffsetDateTime odt = myResultSet.getObject( … , OffsetDateTime.class ) ;
正在写入数据库。
myPreparedStatement.setObject( … , odt ) ;
如果要访问的数据库列的类型类似于SQL标准类型的时间戳(不带时区),请使用LocalDateTime类。
你说:
MySQL值的格式如下:"2022-06-29 10:08:22"
不,不准确。日期时间类型的数据库列不是文本,因此没有格式。
您所看到的是根据该列中表示的值生成的文本。
如果您按照上述指示检索OffsetDateTime
,则不涉及任何文本。
您可以从OffsetDateTime对象生成文本。
toString
。DateTimeFormatter.ofLocalizedDateTime
。DateTimeFormatter.of模式
。所有这些文本生成方法已经在堆栈溢出中多次介绍过。搜索以了解更多信息。
你说:
这里,我们注意到输出包括一个“T”字符。
ISO 8601标准定义了带有T的格式。
我找不到这个问题的解决方案,我正在从firebase获取数据,其中一个字段是时间戳,看起来像这样- Swift示例(作品): 我的飞镖尝试: 并且它返回的日期/时间是错误的。 更新:
下面的代码给出了2021年8月6日星期五12:16:27 GMT-0700(太平洋夏时制)的值,而不是mm/dd/yyyy hh:mm:ss。我在这里漏掉了什么?请告知
本教程的重点是将来自 Yahoo finance API 的日期转换为 Matplotlib 可理解的日期。 为了实现它,我们要写一个新的函数,bytespdate2num。 def bytespdate2num(fmt, encoding='utf-8'): strconverter = mdates.strpdate2num(fmt) def bytesconverter(b)
从我的数据库我检索值为: 我想要上面的: 我试着用当前的时间戳跟踪 实际时间戳:2018年6月22日星期五16:07:35 更新了,我不想更新,有没有办法保持原样?
然而,我想知道你如何将它转换成没有GMT或年份的时间和日期,例如Sat 04月03日14:00:00,这就是它 我的Add.java 我的配置文件.java 这里的任何帮助都将得到极大的理解。