问题标签 [date-math]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
23877 浏览

php - PHP以分钟为单位获取时差

我环顾四周,没有看到任何与我的数据库布局相匹配的东西。基本上我需要获取当前时间和预定的事件时间,并查看当前时间是否比事件时间早 10 分钟。这是我的测试文件,它将当前时间放入一个变量中,然后从数据库表中提取事件时间,将事件时间设置为一个变量,从事件时间中减去当前时间,然后打印差值。问题是我需要分钟,它只打印小时。

例如 11:00 - 9:15 给了我 1,我需要它说 105(分钟数),我真的看过一遍,找不到任何不涉及更改数据库结构的东西。

数据库以 24 小时格式存储事件时间,时间为 13:01 前的小时和分钟,当前时间在 php 中使用 date("H:i") 以相同的格式设置

这是一些测试代码,包含 dbconnect.php 就是我连接数据库的方式。

谢谢你尽你所能的帮助!

感谢 Gamster Katalin 和 John Conde,它已经解决了。这是工作代码:

0 投票
0 回答
31 浏览

mysql - 在 MySQL 中, somedate - otherdate 返回.. 什么?

我只是很好奇,因为我曾经使用过的大多数数据库,在负责 SOMEDATE - ANOTHERDATE 时会返回两个日期之间的天数差异

MySQL 似乎返回的数字是……呃……我不知道。有时是几秒钟。有时只是垃圾

2013-06-05 09:57:59 - 2013-06-05 09:57:33 = 26 是的,26 秒是这两次之间的正确差异

2013-06-03 00:23:07 - 2013-06-02 23:49:51 = 12789 但是等待.. 12789 是 3.5 小时,但这些时间仅相差约半小时

那么当我给它两种日期类型并告诉它从另一个减去一个时,MySQL 实际上在做什么呢?这个数字结果代表什么?

0 投票
2 回答
14487 浏览

php - PHP/MySQL 预约/预约系统的最佳实践

我需要一些人为我目前正在研究的美发师的 PHP/MySQL 预约系统争取“最佳实践”。希望我们可以一起清除一些事情,以避免事后重新做系统。我一直在查看 SO 和 Google 的一些教程、最佳实践等,但我没有找到任何适合我需要的东西。

基本信息

每天有多个美发师可用,每个美发师都有自己的议程,其中包含他/她与客户的约会。与美发师相连的是一张表格,其中包含他/她在一周内有空的时间。

表:人

表:次(这个表有一个主键,我把它排除在下面的计划之外

如您所见,人和时间之间存在一对多的关系(显然,因为一周有 7 天)。但除此之外,还有一个选项可以在一天中的几个小时之间添加休息时间(参见 people_id = 1, day_of_week = 1: 08:00-12:00 和 12:30-17:00)。

此外,还有一个名为“hairdress_types”的表,该表包含可以进行的各种类型的约会(如染发、剪发、洗头等)。此表包含此约会花费的时间量(以分钟为单位)。

最后我有一个appointments非常简单的表:

开始日期和结束日期将是 MySQL 中的完整 DATETIME 字段,从而更容易使用 MySQL 查询函数进行计算。

最佳做法是什么?

因此,按照我的设置方式,前端用户将在字段中选择一个日期,触发一个 ajax/jquery 函数,该函数会在所选日期查找所有可用的美发师。然后用户指定美发师(这不是强制性的:用户也可以选择“任何”美发师选项)和他/她想要进行的约会类型。

提交第一个表单后,可以使用以下信息:

  1. 日期(日、月、年)
  2. people_id(如果选择了理发师,则可以为 0 表示“任何”或 ID)
  3. hairdress_type(与约会所需的分钟数相关联)

使用此信息,我要么从选定的美发师中选择可用日期,要么循环所有可用的美发师及其可用日期。

这就是我的思想精神崩溃的地方!因为检查可用日期的最佳方法是什么。我认为最好的方式是:

  1. 查询给定日期的理发师时间(一次 1 次)
  2. 使用查询1结果的开始日期+约会类型花费的分钟数查询约会表(所以SELECT * FROM appointments WHERE ((date_start >= $start AND date_start <= ($start+$time)) OR (date_end > $start AND date_end <= ($start+$time)) AND people_id = 1:)
  3. 一旦没有找到结果,我就认为这个位置是免费的,并且作为一个选项提供给用户

我面临的更大问题是第 2 点:我对这个查询真的很疯狂,这是我需要找到与特定时间跨度匹配的约会的完整查询吗?

感谢您的阅读和思考!:-)

// 编辑:多一点“testdata”:

约翰 - 星期一 - 12:00 - 17:00。约会: - 12:00 - 12:30 - 14:30 - 15:30

用户想要一个需要 2 小时的约会,在上面的示例中,我会检查:

  1. 12:00 到 14:00 之间有预约吗?是的,.. 前往下一个地点
  2. 14:00 到 16:00 之间有预约吗?是的,.. 前往下一个地点
  3. 16:00 到 18:00 之间有预约吗?错误,17:00 后不可用

因此.. 使用 10/15 分钟的“时间块”可能是一个更好的选择。进行检查:

  1. 12:00 - 14:00
  2. 12:10 - 14:10
  3. 12:20 - 14:20 等。

这将在 12:30 和 14:30 之间找到可用的位置。

// 编辑 2:对第 2 步的可能查询

我一直在纸上写一些东西(一张有约会的桌子和可能使用的空位)。我想出了以下内容。以下情况不能预约:

  1. 在 $start 和 $end 之间有一个与 start_date 的约会
  2. 在 $start 和 $end 之间有一个 end_date 的约会
  3. 有一个约会 start_date < $start and end_date > $end

将上述内容与约会表一起查询people_id将导致没有行(= 空闲位置)或一个/多个行,在这种情况下,该位置被占用。

我想找到空缺点的最好方法是在数据库中查询 X 分钟的块,开始间隔为 10 分钟。这个解决方案的不好的一面是我每小时需要 6 个查询,每个美发师大约需要 48 个查询......关于如何减少查询量的任何想法?

0 投票
1 回答
351 浏览

ruby-on-rails - Rails 3计算嵌入记录的年龄

我正在使用 mongodb,并且有一个将注释添加为嵌入式文档的模型。

如何获取条目的平均评论年龄?(相对示例,我的字段略有不同)

所以我可以对一个条目有很多评论,我需要找出评论的平均年龄,或者平均:cal_date. 收集其他指标会很棒,例如:cal_date所有条目/评论或每个条目的最大值......

这有意义吗?需要更多细节?我很高兴有义务得到解决方案。一段时间以来,我一直对日期计算感到困惑。

另一种思考方式是使用图书馆图书模型:有很多书,每本书都有很多借出/借入。我需要找到每本书的平均检出时间所有书籍的平均检出时间。同样,只是指标,但这些都是日期的事实令人困惑。

另一件事 我如何在我的输出中包含其他字段使用$push?我可以让它工作,但它包括,比如条形码,在一个数组中两次"barcode" => ["H-131887", "H-131887"]

0 投票
1 回答
296 浏览

php - Difference between 2 time() values

I have 2 time() values, for example:

How do I work out their diffidence and display the output as years, months, weeks, days, hours, minutes, seconds etc.

The 2 values above have a difference of 32 seconds I think, so in this case, I would want to display 32 seconds.

0 投票
3 回答
3044 浏览

php - PHP查找日期之前的天数

我必须找到时间戳格式的日期之前的天数(mysql db)

我的问题是,如果现在2013-12-01 09:59:00的日期是 15 天,而现在2013-12-01 10:01:00的日期是 14 天。

我怎么能只改变没有时间的日子呢?

0 投票
1 回答
6456 浏览

php - PHP DateTime 转换错误

我正在使用这段代码:

并收到此错误:可捕获的致命错误:DateInterval 类的对象无法转换为字符串

我不知道如何解决这个问题。

0 投票
1 回答
690 浏览

php - 从mysql表中删除日期字段不在未来的每条记录

我想从数据库中删除将来没有提交字段的每一行。日期以这种方式存储:

2013 年 9 月 10 日

所以,在这个例子中,我想删除这条记录,因为它已经过期了。这就是我所在的位置:

对我来说看起来不错,但是这个查询会删除表中的所有内容,而不仅仅是过去的行。

0 投票
2 回答
1104 浏览

loops - Lua 日期操作循环

我正在尝试运行具有两个我想调整的日期值的批处理脚本,然后再次运行该脚本。我想引用一个将为我调整这些日期值的 lua 脚本。我使用 lua 只是因为大部分项目都是用这种语言编码的。

如果我的变量是 start=01/01/2012 和 end=02/01/2012 我怎么能将这两个日期提前 14 天?然后我想让它运行,然后再次循环并再向前移动 14 天。这将一直持续到循环以我决定的日期中断。是否有可能以这种方式完成此操作,还是我接近此错误?

我想我可以用一个函数来做一些涉及 string.gsub 的事情,该函数会从我的日期中拉出“dd”并将其上移 14。但是,是否有可能进行这种日期算术,或者一旦我到达就会中断月底,它会尝试读取像 2012 年 1 月 45 日这样的日期?

0 投票
1 回答
87 浏览

php - php DateTime diff 方法行为

我必须找到到期日期之前的日子。我尝试使用 DateTime 类的 diff 方法。

我的问题是,如果 dataexp 在过去 1 天,则 diff 的结果是 1 而不是 -1

我可以用什么方法来得到我想要的?(-1 天)?谢谢