我从sql数据库中获取数据,然后以图形的形式显示这些数据。我正在制作的图表是基于时间的数据的。我想摆脱秒,因为它对我的申请和占用空间是无用的。
我尝试使用calender对象从其中删除秒,如下所示:
ArrayList<Time> ints3 = new ArrayList<Time>();
while ( rs.next() ){
ints3.add(rs.getTime(ints.get(0)));
}
Calendar instance = Calendar.getInstance();
instance.setTime(ints3.get(1));
instance.clear(Calendar.SECOND);
ints3.set(1, (Time) instance.getTime());
但是,由于无法将java.util日期强制转换为sql,所以此操作不起作用。我怎样才能去除秒的一部分时间。
发布于 2015-06-02 08:03:13
您需要的答案是使用DateFormat类(它象征日期而不显示秒)。既然Time是一个java.sql.Time对象,那么首先将它转换为一个日期:
Date myDate=new Date(Time.getTime());
DateFormat df=new SimpleDateFormat("H:mm");
String myDateStr=df.format(myDate);
发布于 2015-06-02 07:13:01
我想评论这一点,但我没有足够的声誉点。我相信这个答案能帮到你
https://stackoverflow.com/a/21250071/2987444
您可以使用Jodatimes,方法添加/删除秒,然后转换回来。
发布于 2015-06-02 07:15:12
但是,这是行不通的,因为您不能将java.util日期转换为sql,这很奇怪,因为java.sql.Time
扩展了java.util.Date
。
您正在降低Calendar#getTime
的结果,但这是行不通的。相反,创建一个java.sql.Time
实例并将millis中的时间作为参数传递:
//ints3.set(1, (Time) instance.getTime())
ints3.set(1, new Time(instance.getTime().getTime()));
不过,将ArrayList<Time>
改为List<Date>
(java.util.Date
)要好得多。
https://stackoverflow.com/questions/30599841
复制