问个问题,忽略日期,就用时间段对比,如何判断当前时间段是否在 08:00:00 跟 08:30:00 的范围内?

2018-12-01 02:12:13 +08:00
 basstk

数据库 2 个字段存储了 2 个时间段: t1=08:00:00 跟 t2=08:30:00

忽略日期,就用时间段对比,如:如何判断当前时间段 09:30:00 是否在 08:00:00 跟 08:30:00 的范围内?

4420 次点击
所在节点    PHP
15 条回复
Midnight
2018-12-01 02:13:56 +08:00
大于小于啊
ysc3839
2018-12-01 02:22:49 +08:00
比较当天的秒数。
Jisxu
2018-12-01 02:31:11 +08:00
java 的话,去看看 LocalTime 这个类,parse,然后直接 compareTo 完事
chinvo
2018-12-01 02:52:54 +08:00
推荐一个库,叫 Carbon,PHP 的日期时间增强
Kbyte
2018-12-01 08:13:52 +08:00
一减不就完了
947211232
2018-12-01 08:14:15 +08:00
strtotime
zxcvsh
2018-12-01 09:07:48 +08:00
如果是取出来对比好像方法挺多的
gowa2017
2018-12-01 09:08:49 +08:00
sql hour(date) =8 and minute(date) <30
jugelizi
2018-12-01 09:09:27 +08:00
不就是 8000 和 8300 对比吗
lhx2008
2018-12-01 09:20:43 +08:00
楼上正解,转成四位的就好了
dante3imin
2018-12-01 09:28:05 +08:00
time() > mktime(8, 0, 0) && time() < mktime(8, 30, 0)
xpresslink
2018-12-01 10:30:07 +08:00
把 9:30 转成 用字符串 "8000"/"8300" 或整数 8000/8300 直接比较就可以了。
realpg
2018-12-01 16:11:49 +08:00
PHP 的 STRTOTIME 比较强悍
honeycomb
2018-12-01 17:16:46 +08:00
不想写 SQL 的话,导出成 localtime 类以后可以直接比较。
qinrui
2018-12-02 08:11:16 +08:00
case when substr(time_str,12,8)>“ 08:00:00 ” and
substr(time_str,12,8)<“ 08:30:00 ” then 1 else 0 end

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/513233

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX