我正在制作一个时间注册网站,但我不清楚我将如何处理一些数学问题。 示例:
$shiftstart = 10:30
$shiftend = 20:45
我不知道如何为此进行数学计算:
我需要将它们像这样分解:
$shiftstart
double 10,00 = $shifthours
所以我将第一个数字分隔为数字,然后将最后一个数字分隔为 double 0,30 = $shiftminuts
>
然后执行 $shiftminuts(0,30) * 1,666666666667
所以它 = 0,50
我该如何在函数中使用它?
在我的 mysql 表中将值存储为 10:30 - 21:35
int 或 varchar 的最佳方法是什么?
顺便说一句,我正在用 php 编写 预先感谢!
最佳答案
关于时间数学:我更愿意创建一个继承自 DateTime http://php.net/manual/en/class.datetime.php 的类封装了你的逻辑。 另外,我还没有从问题中得到答案,10:30 是否与任何日期有关? 如果是,您应该在 mysql 中使用 datetime/timestamp 类型。 如果没有,您可以使用 varchar 将 '10:30' 存储为字符串。
此外,您还有另一个选择:在几秒(分钟)内存储和操作。 这种情况下,可以创建一个值对象类来进行计算,并在mysql中使用int作为类型。
夏令时怎么样?在这些日期中 10:30 会是 11:30 吗?还是还是10点30分?你应该为此做好准备。请记住,在不同的国家/地区,它的开始日期不同。这就是为什么我更喜欢使用内置的 DateTime 类。
关于php mysql 如何分解10 :30 with php mathematings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28067703/