当前位置: 首页 > 面试题库 >

Java到MySQL。我需要将字符串参数转换为时间戳

颜修明
2023-03-14
问题内容

我正在尝试将String解析为Timestamp,因为我需要将此数据保存在bbdd mysql上。

String dateString: "2018-10-17T22:37:10.000+0000";
java.sql.Timestamp timeStampDate = null;
try {
        DateFormat formatter;
        formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
        Date date = (Date) formatter.parse(dateString);
        timeStampDate = new Timestamp(date.getTime());

    } catch (ParseException e) {
        log.debug("ERROR parser String to Timestamp to save bbdd. ", e.getMessage());
    }

当我运行我的应用程序时,我收到以下捕获消息:

将解析器字符串错误解析为时间戳以保存bbdd。无法解析的日期:“ 2018-10-17T22:37:10.000 + 0000”

有谁能够帮我?


问题答案:

改变你的面具

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSS");

所以你有了

java.sql.Timestamp timeStampDate = null;
String dateString = "2018-10-17T22:37:10.000+0000";

try {
    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
    Date date = formatter.parse(dateString);
    timeStampDate = new Timestamp(date.getTime());

} catch (ParseException e) {
    e.printStackTrace();
}

顺便说一句 ,你不应该需要castDate

*对我的懈怠表示 *歉意 ,我匆忙没有测试输出,按照@andreas注释,实际上是正确的遮罩yyyy-MM- dd'T'HH:mm:ss.SSSZ



 类似资料:
  • 问题内容: 如何将以下格式转换为Unix时间戳? 我从数据库获得的格式似乎最后有。我尝试使用以下方法,但没有用: 问题答案: 试试这个查询 此查询

  • 如何将以下格式转换为unix时间戳? 我从DB获得的格式似乎末尾有。我尝试使用以下方法,但没有成功:

  • 问题内容: 我正在开发一个具有聚类列的时间序列数据模型,即 我希望针对分区列“ id”和集群列“ time”执行选择。例如,id:=‘1’,时间戳:=‘2017-10-09’ 检查iterable.Close()的err后,发现编组错误 {“错误”:[“无法将字符串编组为时间戳”]} 我该如何解决? 问题答案: 这是我最后通过将字符串文字(带有时间戳)转换为类型time来解决此问题的方法。

  • 问题内容: MySQL是否会自动将字符串转换为数字值? 转换如何进行? ‘1234’= 1234吗? ‘1abc’= 1? ‘文本’= 1? 给定那是bigint类型的,该查询将如何解释? 问题答案: 前三个问题的答案是:是,是和否。 当字符串转换为数字时,它将成为value 。 描述类型转换的文档在这里。 对于您的查询: 该摘录摘自文档: 在所有其他情况下,将参数作为浮点数(实数)进行比较。 换

  • 问题内容: 我一直在寻找一种将字符串(以纪元时间)转换为日期的方法。 基本上,我需要使用this:(以字符串形式)并将其放入this:中。 我一直在看strptime和strftime,但似乎都没有为我工作。有什么建议么? 编辑:谢谢,伙计们。我将其转换为int ,将其转换为,然后在其上运行。完美地工作! 问题答案: 如果只有该值是整数而不是字符串,则可以调用。如果只有某种方法可以将字符串转换为整

  • 我想将字符串time < code > " 2019-06-20 13:30:31 " 转换为int ,我尝试使用以下代码,但得到的是< code>10190101,我的尝试有什么问题吗?