两个时间值的比较,判断在这两个时间内可以这样吗

hificat2 2018-12-17 09:33:52
time1_A="21:00:00";
time1_B="22:58:00";

now_time= TimeToStr(Now());

if ((now_time>time1_A)&&(now_time<time1_B)) ShowMessage("当前在时间范围内");

如果想判断两个时间值,当前时间是否在这两个时间范围内,以上写法,可以吗?
...全文
242 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
CompareDateTime
CompareTime
ooolinux 2018-12-18
  • 打赏
  • 举报
回复
你比较的是字符串,感觉应该用TDateTime类型来比较。
zhgwbzhd 2018-12-18
  • 打赏
  • 举报
回复
你的这个方式可能不好,在某些环境下会出错。

因为 TimeToStr,当时间为9点时,返回9:00:00,通过字符串比较,9:00:00 比 10:00:00大。

如果非要通过字符串来比较大小,可以通过下面这个函数获取
FormatDateTime("hh:nn:ss",Now())
9点时会得到09:00:00

字符串来比较就没问题了。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧