我使用以下语句从我的SQL DB获取时间戳:
stmt.setTimestamp(i++, new java.sql.Timestamp(example.getExampleDate().getTime()))
哪种方法很好并且返回:
2013-02-22 12:27:34.0
现在碰巧我需要它更精确,就像这样:
2013-02-22 12:27:34.000
所以我在文档中发现了以下方法,这显然正是我想要的:
setNanos(int n)
将此Timestamp对象的nanos字段设置为给定值。
但我需要弄清楚如何将其纳入我准备好的陈述中?
我试过例如
stmt.setTimestamp(i++, new java.sql.Timestamp(example.getExampleDate().getTime()).setNanos(3));
但是会返回以下错误:
The method setTimestamp(int, Timestamp) in the type PreparedStatement is not applicable for the arguments (int, void)
非常感谢你的帮助!
答案 0 :(得分:1)
getBrands(params?: any): Observable<IBrand[]> {
return this.http.get(Host + endpoints.brands, params)
.map((res: Response) => res.json() as IBrand[])
.catch((error: any) => {
this.notifications.show({message: 'Kunde inte hämta märken', theme: 'danger'});
return Observable.throw(error.json().error || 'Server fel');
});
}
返回void。所以表达式setNanos()
的类型为void。您无法将void传递给方法new java.sql.Timestamp(example.getExampleDate().getTime()).setNanos(3)
。您必须传递时间戳。
所以使用变量:
setTimestamp()