问题标签 [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 回答
429 浏览

php - 如何在 PHP 中查找两个日期之间的 DateIntervals 数

我正在尝试确定两个日期之间的日期间隔数。间隔可以是几个月、几天、几小时或用户选择的任何时间。

目前我有一个使用递归的函数,但是,由于递归嵌套限制,如果两点之间的间隔超过 100 个,这将中断。

我所需要的只是一个整数值,它表示我们当前所处的时间间隔,即如果它设置为 7 天的间隔,并且从起点到现在已经过去了 20 天,它将返回 '3 ',因为我们将进入第三阶段。

有没有办法在没有递归的情况下做到这一点,也许使用 DateInterval?

注意,如果它仅限于几天或几小时,这将非常简单 - 但它需要支持几个月,它可以有可变的长度。

0 投票
2 回答
2891 浏览

php - 调用未定义的方法 DateTime::add() - PHP 版本 5.4.6

我有以下功能,我在这个主题上得到了帮助

现在我刚刚将时间戳更改为太平洋/奥克兰,因为我的东道主是美国/丹佛。这改变了一切,除了使用 Cron Jobs 运行的文件,它们仍在输出旧的时间戳。现在,如果我在我网站的页面上运行此功能,它可以正常工作,但是如果使用完全相同的功能运行 cron 作业文件,我会收到以下错误

PHP Fatal error: Call to undefined method DateTime::add() in ***** on line 156

这是$order_day->add(new DateInterval("P".$day_diff."D"));

这是我的信息http://www.dpdesignz.co.nz/homefresh/lib/php_info.php

有没有人知道为什么会发生这种情况?

0 投票
3 回答
22086 浏览

php - 如何将字符串持续时间转换为 ISO 8601 持续时间格式?(例如“30 分钟”到“PT30M”)

有很多问题询问如何以另一种方式执行此操作(这种格式转换),但我找不到任何关于如何在 PHP 中以 ISO 8601 持续时间格式输出的信息。

所以我有一堆人类可读格式的持续时间字符串 - 我想将它们即时转换为 ISO 8601 格式以打印 HTML5 微数据的持续时间。下面是一些输入字符串的示例,以及它们应该如何格式化

我可以将字符串推送到 PHP 中的间隔对象中:

但似乎没有 ISO 8601 输出选项

我应该如何处理这个?

0 投票
2 回答
27089 浏览

php - 将分钟添加到 PHP 日期时间以计算事件的开始/结束

我想用 PHP 计算事件的开始和结束日期时间。我得到了这个事件的开始以及添加到结束的持续时间。所以我尝试了以下代码:

在本例中,我将开始时间加上 75 分钟,然后计算事件的结束时间。它有效,但它也编辑开始时间。我在 PHP 文档中读到 ADD 方法编辑了被调用的对象,但我不明白它如何编辑 startEdit 变量。我在示例中编写的任何方法中都没有使用引用,在 getStartTime 函数中也没有

0 投票
2 回答
3691 浏览

php - 日期间隔可以返回负零或正零如何在结果上设置条件语句

假设$intervalDateInterval对象,则无论周年纪念日是在当前日期 = 0 之前的 1 年内还是周年纪念日是在当前日期 = -0 之后的 1 年内,条件语句都为真。

  • 我不能使用 abs 因为它们都是 0
  • 我不能使用 <= 0 因为它们都是
  • 我不能使用 >= 0 因为这在我不想要的其他情况下设置为 true
  • 我不能使用 < 0 因为 0 不是,我希望 0 为真
  • 我不能使用 == 0 因为两者都是真的
  • 我不能使用 > 0 因为 0 不是,我希望 0 为真

所以我想能够说这个数字是否为负数,但据我所知不存在这样的事情。有什么想法吗?

** 编辑 **

解决方案是比较日期对象并确定它们是否在适当的 DateInterval 中:

0 投票
2 回答
99 浏览

php - PHP 回显 DateTime 对象

当我尝试输出 DateTime 对象时,它实际上是在打印格式,例如

代码

通过阅读其他问题和示例,这应该可以工作,所以我很困惑为什么不可以。

0 投票
1 回答
88 浏览

php - php,当 number_format() 遇到 date_diff()

我的系统:win 7 32bit, wampserver 2.1e 请帮我找出以下混乱的解决方案。

dateinterval->format 之后的第一个 number_format() 得到错误的结果。number_format 是否与 dateinterval 格式冲突?

0 投票
4 回答
2717 浏览

php - 是否可以从 DateInterval 对象中获取“interval_spec”字符串?

假设我有这个 DateInterval 的对象实例:

现在我可以用那个$obj实例做一些漂亮的事情,但是说我想"P1Y12D"从对象中取出那个字符串,是否可以直接而不需要重写类?

我没有找到解决这个问题的方法,也许你找到了。

0 投票
1 回答
5504 浏览

php - 使用 DateInterval 计算两个日期之间的月份而不在一年内换行

我知道这个话题已经很累了,但显然还不够!

你如何计算两个日期之间的月数,而不是在 12 个月的范围内换行?

0 投票
1 回答
14088 浏览

php - DateTime/DateInterval 每次刷新增加 25 小时会产生完全不同的结果

这是我的代码:

这应该将当前时间增加 24 小时。问题是,每次我刷新页面时,我都会得到不同的结果。我指的不是人们预期的几秒钟,而是很多分钟。有些高于实际时间,有些低于实际时间。

现在晚上 9:51 进行三次刷新,结果如下:2013-03-26 09:09:03、2013-03-26 09:17:03、2013-03-26 09:30:03

为什么我看不到实时?到底是怎么回事?

谢谢您的帮助!