问题标签 [dateinterval]

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 回答
245 浏览

mysql - MySQL:按日期间隔进行级联过滤

任何人都可以帮助我进行此类查询。

我有:

  • posts桌子
  • comments桌子

它们通过comments.post_id = posts.post_id列链接。

我用户可以按过去的评论过滤帖子:

  • 1小时
  • 24小时
  • 2天等。

如果用户选择显示过去 1 小时的帖子,但在此期间没有帖子,我们需要逐步进行:

为过去选择帖子1 hour,如果为空 - 为过去24 hours,如果为空 - 为过去2 days,如果为空 - 自成立以来(无任何条件)。

谁能帮我建立这样的查询?

UPD

“按评论过滤帖子”是指按评论数排序。

所以实际上目标是请求“显示按过去 XXX 小时内留下的评论数排序的帖子”

如果选择“过去一小时”,但过去 1 小时内没有留下评论的帖子,我们需要获取过去 24 小时内留下评论的帖子(按评论数排序)等等。

表结构

帖子:

  • post_id
  • 标题
  • 内容
  • 添加日期

评论

  • comment_id
  • 内容
  • post_id
  • 添加日期

所以链接是posts.post_id = comments.post_id

当用户查看过去一小时内评论最多的帖子时,我希望得到下一个结果:

结果排序:

  1. 列表顶部是在过去一小时内发表评论的 2 个帖子,并按评论数排序。
  2. 接下来,我们放置在过去一天已发表评论的帖子。
  3. 下一个 — 2 天内评论的帖子
  4. 上周发表评论的帖子,再次按评论数排序
  5. 过去一个月
  6. 在过去的一年
  7. 在这个列表的最后,我们需要放置评论超过一年的文章,它们也应该按评论数排序。

提前致谢。

0 投票
2 回答
234 浏览

php - 将函数的开始日期和结束日期值存储到数组中

有人可以帮我将函数的开始日期和结束日期存储到数组中以供进一步处理。

下面的 php 代码将给出给定期间每个月的开始和结束日期。但我无法将这些值放入函数中的数组中。

PHP代码:

我需要将上述函数的输出放在这样的数组中:所需的输出:

0 投票
1 回答
788 浏览

php - PHP DateInterval 不适用于 DateTime 对象

我想制作一个数组,从每月的第一天开始,到最后一天结束。

所以这很简单。但结果看起来 DateInterval 函数不能正常工作。

期待:

现实:

是的,方法,你怎么解决这个问题也很简单,创建另一个DateTime对象,修改为第一天,然后从第一天创建一个新的DateTime对象,然后你可以将DateInterval添加到它。

因此,在我通过 $d->modify 修改了我的 DateTime 对象之后,无法添加任何日期。但问题是为什么?我想明白这一点。

感谢你的回答。

重复

0 投票
1 回答
943 浏览

php - 将“hh:mm”字符串转换为 HTML5 微格式持续时间

我正在尝试转换格式为“HH:MM”的字符串(例如,01:25 - 1 小时 25 分钟),以用作配方页面中的微数据。

DateTime我可以像这样从字符串创建一个对象:

但是如何将此DateTime对象转换为合法的 ISO8601 持续时间格式?

我觉得我什么都试过了。我玩过这个DateInterval类,它应该输出(我认为?)正确的格式,这将是PT1H25M,但我似乎无法将我的DateTime对象转换为DateInterval可以解释的格式。我已经尝试过了$interval = DateInterval($time->format(DateTime::ISO8601));,应该得到DateInterval班级的支持。

所以问题很简单:如何将字符串“01:25”(HH:MM)转换为 ISO8601 字符串PT1H25M,以便在 php 中以微格式使用?

0 投票
0 回答
118 浏览

php - PHP DateInterval 缺少一个句点

我的目标是在两个给定日期之间生成每分钟的时间戳(实际问题不同,但这在结构上相似并且更易于描述)。我正在使用以下代码:

问题是当我运行它时,我希望找到 365*24*60 条目,或 525,600,但只返回 525,540。有趣的是,3 月缺少整整 60 分钟的时间段(3 月 13 日,凌晨 2-3 点缺失)。

这真的很奇怪..我错过了一些完全明显的东西吗?使用 PHP 版本 5.4.16

干杯,阿德里安

0 投票
2 回答
438 浏览

calendar - 在 Dojo 日历中动态更改 DateInterval

对不起,我是法国人。

我使用 Dojo 日历,有一些按钮“今天”、“4 天”、“周”、“月”......如果我点击这些按钮之一,是否有一个 javascript 函数可以改变 DateInterval财产 ?还是有其他方法可以做到这一点?

感谢您的帮助。

0 投票
4 回答
1874 浏览

php - 从开始日期计算重复间隔

这就是我所拥有的:

这就是我需要的:是循环间隔中的当前时间/日期

2012-04-03 是星期二。2013-07-16 也是如此。如果每隔一个星期二的重复将达到今天的日期或上一个星期二,如何计算(在 PHP 中)?

任何人?

编辑:
@hek2mgl 我让它这样工作

0 投票
2 回答
870 浏览

php - php - 确定 DateTime 是否落在 DateInterval 上

我正在尝试确定 a 是否DateTime与 a 的可能发生完全一致DateInterval。我使用的时间间隔需要允许“下个月的第 N 天”类型格式规范,鉴于这些条件,我不确定这样的事情是否可能。

我的基本想法是反转DateInterval,将其应用于原始 的克隆DateTime,将其放回原样,再次应用,然后检查两个DateTime实例是否相等。如果是这样,它恰好发生在间隔上:

这似乎在同一方向上应用了两次间隔,因此我再次尝试使用->sub()and ->add(),导致致命错误“DateTime::sub(): Only non-special relative time specification is supported for subtraction”。似乎根本没有实现这种功能。

有没有人有更好的想法,而不是选择远在开始日期之后的偏移量并向前迭代直到我们匹配或过去的丑陋和低效的解决方案?

提前致谢!

0 投票
1 回答
2572 浏览

php - PHP DateInterval 不返回该月的最后一天

我正在使用以下代码:

它在大多数情况下都有效。我给它一个范围,它返回我在该范围内的每一天的日期。

用法:

在 2013 年 7 月,这将返回正确的 4 个结果,即 2013 年 7 月的所有星期五:

但是,在最后一天与我之后的日期匹配的月份(例如,2013 年 5 月和 2014 年 1 月的星期五),它会从返回的结果中错过该月的最后一天。

2013 年 5 月的结果,当然缺少 31 日,即星期五:

有人对此有答案吗?这是我对 DateInterval 的误用还是这个类的真正错误?

0 投票
5 回答
52587 浏览

php - 以天为单位获取 PHP DateTime 差异,将午夜视为一天的变化

DateTimes将午夜视为一天的变化(就像DATEDIFF(DAY)SQL 函数一样),获得两个 PHP 之间天数差异的最简单方法是什么?

例如,在今天 13:00 和明天 12:00 之间,我应该得到 1(天),即使间隔小于 24 小时。