Java 获取最近的时间
我有一个日期时间值,如“30-01-2014 22:50” 我有相同格式的日期数据库,但数据类型为字符串 现在我想从给定日期时间“30-01-2014 22:50”的数据库中获取最近的时间 例如: 我拥有的值:Java 获取最近的时间,java,android,date,time,Java,Android,Date,Time,我有一个日期时间值,如“30-01-2014 22:50” 我有相同格式的日期数据库,但数据类型为字符串 现在我想从给定日期时间“30-01-2014 22:50”的数据库中获取最近的时间 例如: 我拥有的值:“30-01-2014 22:50” 数据库: "30-01-2014 02:20" "30-01-2014 05:30" "30-01-2014 22:55" "30-01-2014 10:50" "30-01-2014 22:54"` 所以输出应该是 “30-01-2014 22:
“30-01-2014 22:50”
数据库:
"30-01-2014 02:20"
"30-01-2014 05:30"
"30-01-2014 22:55"
"30-01-2014 10:50"
"30-01-2014 22:54"`
所以输出应该是
“30-01-2014 22:54”
我怎样才能做到这一点
date1.之后(date2)和date1.之前(date3)
时间有什么功能吗
谢谢是的,有。请参阅文档。您提到的两种方法—
在(日期时间)
之后和在(日期时间)
之前是日期
类的一部分
编辑:
要完成您试图完成的任务,您可以对日期进行排序,然后使用Date.after(Date when)
或Date.before(Date when)
查找数据集的轴心点。在那之后,你已经把它缩小到剩下的两个日期,所以你所要做的就是将这两个日期与你的比较日期进行比较,看看哪一个最接近
例如:
if(`Math.abs(Date1.getTime() - DateCompare.getTime()) < Math.abs(Date2.getTime() - DateCompare.getTime()){
return Date1;
} else {
return Date2;
}
if(`Math.abs(Date1.getTime()-DateCompare.getTime())
从每个日期对象获取毫秒,并将其添加到地图中,然后尝试查找最近的一个
否则,您可以使用sql查询直接从数据库中获取最近的日期
SELECT TOP 1 *
FROM x
WHERE x.date < @CurrentDate
ORDER BY x.date DESC
选择前1名*
从x
其中x.date<@CurrentDate
按x.date DESC订购
资料来源:
在SQl自身中从文本转换为日期