【发布时间】:2015-05-25 07:33:34
【问题描述】:
我应该怎么做才能使 4 位整数/字符串的行为(不看起来)像时间?
考虑这段代码:
$t = 0430;
$timeArray = array('0400', '0415', '0420', '0430', '0440', '0450', '0500', '0600');
现在,如果我必须在 $timeArray 中搜索距离 $t +/- 15 分钟的元素,我会这样做:
foreach($timeArray AS $time){
if($time <= $t + 15 && $time >= $t - 15){
return $time;
}
}
应该没有问题。我会回来的:
0415, 0420, 0430, 0440
但如果$t = 0445 和$t = 0505 我显然会分别错过0500 和0450。
现在我如何让$t 和/或$timeArray 元素表现得像时间一样? 0500 是在 0459 之后而不是 0460 之后?
编辑:
- 欢迎使用逻辑技巧。除非您使用 PHP 预定义函数,否则不必只在 PHP 中使用 :)
- 我正在从 Web 服务获取“整数时间”。因此,如果我可以将其转换为“Time/TimeStamp”,那就太好了!
- 我的错。 4 位字符串。喜欢
'0400'
【问题讨论】:
-
所有小于 1000 的整数现在都是整数的八进制表示。我认为您需要了解PHP中的基础。
-
为什么需要那个 4 位数的时间?将它们用作键并将实际时间戳存储在数组中。
-
@b0s3:请阅读我的 EDIT2
-
@MichaelSivolobov 我的坏。那些是字符串。我已经编辑了问题。
-
在比较之前,你必须转换为 int