String “2014-11-11” 转换成 timestamp ”2014-11-11“
"public static Timestamp getTimestamp(String time){
Timestamp ts = new Timestamp(System.currentTimeMillis());
try {
ts = Timestamp.valueOf(time);
System.out.println(ts);
} catch (Exception e) {
e.printStackTrace();
logger.error("String转timeStamp出错");
}
return ts;
}
``
这样转换报错 说timeStamp的格式必须是2013-11-11 00:00:00这种的
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
试试用SimpleDateFormat 的parse方法,先将string转为Date,然后再从Date转为Timestamp就方便了。
还有希望后的HH:mm:ss全部为0,最好补全,不然系统会默认用当前的hh mm ss哦。
当然如果补全了,是否可以直接用你说的Timestamp.valueOf,呵呵!
如果你很确定要把
string转成Timestamp的话,可以用SimpleDateFormat先转换一下加上时间,或直接在string中加上默认的时间string + " 00:00:00"如果你也不是很必须的用
Timestamp做转换的话,请用Date,SimpleDateFormat即可。Timestamp是UTC格式的日期,啥叫UTC?请搜索一下看看。如果没有时间,怎么体现出UTC?源码解析的时候,代码是按照
yyyy-mm-dd hh:mm:ss[.fffffffff]这种格式去解析的。可以从几个indexOf的调用可以看出来先把String转成Date再转Timestamp,使用joda可以让转换更简单。