我在sqlite
数据库中存储了一个Timestamp值,但是当我以字符串格式访问它时,它给了我正确的时间,但当我尝试以长,时间和时间戳格式访问它时,它给出了我错了。
如何以常规时间格式正确使用它?
Creating Table
String sql = "CREATE TABLE IF NOT EXISTS graphTable " +
"(TIME TIMESTAMP NOT NULL DEFAULT current_timestamp) " ;
/* Access the value from database using java code */
ResultStatement rs = stmt.executeQuery( "SELECT TIME FROM graphTable ;" );
while ( rs.next() ) {
Date resultdate = new Date(rs.getLong()*1000);
Millisecond ms_read = new Millisecond(resultdate);
System.out.println( "TIME = " + ms_read );
}
答案 0 :(得分:1)
如果您想要unixtime,请使用strftime('%s', ...)
:
SELECT strftime('%s', time) FROM graphTable;
// now access the column as long
如果要转换为Java毫秒值,只需乘以1000。
答案 1 :(得分:1)
从数据库中提取时间戳值时,请使用此包
import java.sql.Date;
而非import java.util.Date;
存储该值
修改
首先定义如下格式,然后尝试转换它。
SimpleDateFormat DFTS = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
String formatteddate=DFTS.format(d);
d
是数据库的日期