- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在玩 PHP 时,我想到了这一点:
<?php
$FebruaryTheFirst = \DateTime::createFromFormat('Y-m-d H:i:s', '2001-02-01 00:00:00');
$MarchTheSecond = \DateTime::createFromFormat('Y-m-d H:i:s', '2001-03-01 00:00:00');
$interval = $FebruaryTheFirst->diff($MarchTheSecond);
echo $interval->m.PHP_EOL; // Outputs 0. WTF?
$FebruaryTheFirstbis = \DateTime::createFromFormat('Y-m-d', '2001-02-01');
$MarchTheSecondbis = \DateTime::createFromFormat('Y-m-d', '2001-03-01');
$interval2 = $FebruaryTheFirstbis->diff($MarchTheSecondbis);
echo $interval2->m.PHP_EOL; // Outputs 1. WTF?
$FebruaryTheFirstter = \DateTime::createFromFormat('Y-m-d H:i:s', '2001-02-01 00:01:00');
$MarchTheSecondter = \DateTime::createFromFormat('Y-m-d H:i:s', '2001-03-02 00:01:00');
$interval3 = $FebruaryTheFirstter->diff($MarchTheSecondter);
echo $interval3->m.PHP_EOL; // Outputs 0. WTF?
$FebruaryTheFirstfour = \DateTime::createFromFormat('Y-m-d H:i:s', '2001-02-01 01:00:00');
$MarchTheSecondfour = \DateTime::createFromFormat('Y-m-d H:i:s', '2001-03-02 01:00:00');
$interval4 = $FebruaryTheFirstfour->diff($MarchTheSecondfour);
echo $interval4->m.PHP_EOL; // Outputs 1. WTF?
1
作为输出,因为我一直在计算 2 月 1 日和 3 月 1 日之间的月份数。但如前所示,我也得到
0
=> 跆拳道?
PHP 5.3.8 (cli) (built: Jan 12 2012 19:12:32) Copyright (c) 1997-2011
The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend
Technologies with Xdebug v2.1.1, Copyright (c) 2002-2011, by Derick Rethans
最佳答案
看起来这是 PHP 中的一个已知错误。看看 bug report .解决这个问题的唯一方法,至少目前是,使用 UTC 来消除本地时区问题。
示例:
// Get the current timezone.
$originalTimezone = @date_default_timezone_get();
// Work in UTC.
date_default_timezone_set('UTC');
// ...
$dateStart = new DateTime('2001-02-01');
$dateEnd = new DateTime('2001-03-01');
$interval = $dateStart->diff($dateEnd);
// Reset the timezone.
if ($originalTimezone) {
date_default_timezone_set($originalTimezone);
}
关于PHP:奇怪的 DateInterval 长度计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9163378/
我想从 DateInterval 数组中排除 DateInterval 数组。这是我的代码,但我认为它不会有帮助。有时它会进入无限循环,我无法解决它。 extension DateInterval {
试图从几秒钟内生成简单的“H:i:s”字符串,但不能 例子: $iSecond = 188; $dtF = new DateTime("@0"); $dtT = new DateTime("@$iSe
我有一个 mySQL 表,其中有 2 列,其中包含日期。 while 循环将它们每个放入一个变量:$start_date 和 $end_date,计算它们之间的时间,并使用 diff() 将其放入新变
在我的数据库中,我的day为int。比我得到的 $diff 是 DateTime。 $diff->format("%d"); SELECT * FROM smt WHERE day = $diff 即
我正在使用以下代码: public static function getDays($day, $m, $y) { $days = new DatePeriod( new DateTime
如果我有一个时间格式字符串,如“14:30:00”(“小时:分钟:秒”),我如何从该字符串中获取 DateInterval? 我可以获得一个日期时间: $datetime= DateTime::cre
在玩 PHP 时,我想到了这一点: diff($MarchTheSecond); echo $interval->m.PHP_EOL; // Outputs 0. WTF? $FebruaryTheF
我使用的是 5.4.24 版的 php,我不能使用 DateInterval 类。 我收到此错误:PHP fatal error :找不到“DateInterval”类 $interval
在运行一些测试时,注意到检查 DateInterval 对象的公共(public)属性会返回 false,即使它们包含数据。为什么这是/我们从文档中遗漏了什么? 例子: $currentDate =
尝试获取最后四个星期日,从最近的星期日开始循环递减。 // most recent sunday $mostRecentSunday = new DateTime('last sunday'); //
如何比较两个 DateInterval 对象?像这样的东西: $d1 = new DateInterval("P1M"); $d2 = new DateInterval("P2M"); if($d2
情况/问题 我在 PHP 中遇到 DateInterval 问题。 鉴于以下代码 $interval = new DateInterval("PT6000S"); echo $interval->h;
所以,我减去两个日期: $d = $start->diff($end); 现在我想获取以秒为单位的日期(不是 second 参数)。我知道它可以用本地 Php 函数来完成 - 但它只能在 1970 年
我编写了一些用于输入重复事件的代码。最棘手的部分是用户可以创建一个事件并让它在每 x 周的一周中的选定日期重复。 例如,用户可以选择周一、周三、周五并每 3 周重复一次。 很容易做到,如果每周 - 我
我已经编写了一些用于输入重复事件的代码。最棘手的部分是用户可以创建一个事件并让它在每周的选定日期重复 x 周。 例如,用户可以选择周一、周三、周五,并每 3 周重复一次。 每周 很容易做到 - 我可以
如何在 PHP 中创建瞬间 DateInterval?例如: 0.123456 sec ? DateInterval::__construct 的间隔规范 没有F,也没有f,类似于支持分秒的DateI
我知道这个话题已经很累了,但显然还不够! $temp_d1 = new DateTime(date('Y-m-d', $fromTime)); // 2012-01-01 $temp_d2 = new
我想在我的应用程序中将一些数据存储为字典,与此数据的创建日期相关。它应该看起来像这样: // hours [ 17:00 - 18:00 : 34.5, 18:00 - 19:00 : 41.2,
当我使用 DateInterval 类时,它返回一个名为“d”的属性,然后返回另一个名为“Days”的属性,我真的很困惑这两者之间的区别。有人可以解释一下吗。 下面是我的代码中返回的对象的示例。 Da
所以我花了很多时间研究如何最好地将重复事件添加到我的日历应用程序。 我想使用 PHP DateInterval 函数并编写了下面的代码来尝试找出如何根据原始事件 Start Date、Finish D
我是一名优秀的程序员,十分优秀!