首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取最近的时间Android

问获取最近的时间Android
EN

Stack Overflow用户
提问于 2014-01-30 23:02:50
回答 2查看 535关注 0票数 0

我有一个日期时间的值,比如"30-01-2014 22:50“。

我有相同格式的日期数据库,但数据类型为字符串。

现在我想要最近的时间从数据库中给定的日期-时间"30-01-2014 22:50“。

示例:

我拥有的值:"30-01-2014 22:50"

数据库:

代码语言:javascript
复制
"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.after(date2) and date1.before(date3)

时间有什么功能吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-01-30 23:06:57

是的,有。请参阅文档here。您提到的两个方法- after(Date when)和before(Date when)是Date类的一部分。

编辑:

要完成您想要完成的任务,您可以对日期进行排序,然后使用Date.after(Date when)或Date.before(Date when)找到数据集的轴心点。在此之后,您已经将其缩小到剩下的两个日期,所以您所要做的就是将这两个日期与您的比较日期进行比较,看看哪一个最接近。

例如:

代码语言:javascript
复制
if(`Math.abs(Date1.getTime() - DateCompare.getTime()) < Math.abs(Date2.getTime() - DateCompare.getTime()){
     return Date1;
} else {
     return Date2;
}
票数 1
EN

Stack Overflow用户

发布于 2014-01-30 23:10:15

从每个Date对象中获取毫秒数,并将其添加到地图中,然后尝试查找最近的一个。

否则,您可以使用sql查询直接从DB获取最近的日期。

代码语言:javascript
复制
SELECT TOP 1 *
FROM x
WHERE x.date < @CurrentDate
ORDER BY x.date DESC

来源:Find closest date in SQL Server

在SQl中将文本转换为日期。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21459982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档