php mysql 如何分解10 :30 with php mathematings

标签 php mysql

我正在制作一个时间注册网站,但我不清楚我将如何处理一些数学问题。 示例:

$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/

相关文章:

php - 有多个 OR 子句会减慢查询速度吗

javascript - 如何将动态输入字段提交到数据库中?

php - Laravel 4 - Ardent - 密码确认不匹配

php - 如何在连接表(laravel)中获得最低价格

php - 找不到 Magento 列 : 1054 Unknown column 'cat_index_position' in 'order clause'

Mysql内存设置

php数组递归

php - 功能类似于 ctype_alpha 但带有特殊字母

php - 什么是允许使用 HTML 输出并避免 XSS 攻击的函数

c++ - 使用 dbms_pipe 插入来自繁重事务的数据