数据库
首页 > 数据库> > Java到MySQL.我需要将字符串参数转换为时间戳

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

作者:互联网

我正在尝试将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());
    }

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

ERROR parser String to Timestamp to save bbdd. Unparseable date: “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();
}

顺便说一句,您不需要强制转换日期

为我的懈怠而道歉,我匆忙没有测试输出,按照@andreas注释,正确的掩码实际上是yyyy-MM-dd’T’HH:mm:ss.SSSZ

标签:datetime-parsing,java,timestamp,simpledateformat,unparseable
来源: https://codeday.me/bug/20191012/1898912.html