草庐IT

time_diff

全部标签

PHP 错误的 DateTime::diff() 返回错误的 DateInterval

我有两个日期时间相差的问题。这是显示DateInterval对象的命令行:php-r"\$a=newDatetime('firstdayof4monthsagomidnight');\$b=newDatetime('firstdayof1monthagomidnight');var_dump(\$a->diff(\$b));"这里是DateInterval输出:classDateInterval#3(15){public$y=>int(0)public$m=>int(3)public$d=>int(3)public$h=>int(0)public$i=>int(0)public$s=>

php - 如何在 phpunit 中模拟 git diff 的结果

我正在用PHP编写数据库迁移脚本,我需要在phpunit中模拟gitdiff的结果。这个想法是gitdiff将只返回自上次提交以来在includes/中添加或更新的文件的名称。但当然,随着我处理脚本并提交我的更改,这会不断变化。这是Migrate类和gitDiff方法:#!/usr/bin/php有什么想法吗? 最佳答案 在PHPUnit中:$mock=$this->getMockBuilder('Migrate')->setMethods(array('getDiff'))->getMock();$mock->expects($t

php - time() 根据服务器返回不同的时间戳

我现在搜索了好几个小时,好像以前没有人遇到过这个问题。我在两台服务器上运行一个脚本,将当前时间戳写入数据库。两者具有相同的操作系统、软件...和相同的时区。现在我发现,一些时间戳和当前时间()之间的差异是一个负数(是的,计算是正确的:time()-$older_timestamp)我将time()转储到两台服务器上,结果:正好相差一小时。检查一下:time()onserver#1:-1hourtime()onserver#2:correcttimestamp因为time()应该始终基于UTC,所以我无法解释这是怎么发生的。有人知道吗?来自亚琛的问候 最佳答案

PHP: array_diff - 删除一个值

我目前正在尝试使用array_diff从数组中删除1个值。代码现在看起来像这样:$item_id=501;$array=array_diff($user_items,array($item_id));用户项目数组:501,501,502,502数组中的正确结果:502,502是否可以只删除1x501而不是2x501值?或者换句话说:将删除限制为1个值那么数组是:501,502,502感谢任何建议 最佳答案 您可以使用array_search查找并删除第一个值:$pos=array_search($item_id,$user_item

php - 匹配 HH :MM:SS time format in php? 的正则表达式

这个问题在这里已经有了答案:RegexpatternforHH:MM:SStimestring(2个答案)关闭9年前。HH:MM:SS的正则表达式是什么HH是hours,但不限于日期或时钟,它可以是从0到任何整数的任何数字MM是分钟,最大值是59,从00开始SS是Seconds最大值是59并且从00开始

php - Doctrine generate-migrations-diff 和 migrate

我已经尝试执行cli命令./doctrinegenerate-migrations-diff并在正确的文件夹中正确创建了一个版本文件。消息是:generate-migrations-diff-Generatedmigrationclassessuccessfullyfromdifference然后我尝试执行另一个cli命令./doctrinemigrate,我看到一条消息:migrate-已成功迁移到版本#1但是当我打开类(class)时,任何修改都已完成。为什么?这是版本1文件:removeColumn('addresses','address_test');}publicfunct

PHP配置: max_execution_time and max_input_time

我可以设置如下PHP配置参数吗:最大执行时间=360最大输入时间360这样安全高效吗?我实际上需要我的用户使用基于php的内容管理系统上传大型视频。因此,每个视频上传都需要几分钟时间。我是否需要同时更改两者并且这些值都很好?谢谢 最佳答案 据我了解,您不必更改任何一项。如果您只是使用move_uploaded_file存储视频文件,则无需增加max_execution_time,因为上传时间不计入执行时间。manual以下是关于max_input_time的内容(重点是我的):Thissetsthemaximumtimeinseco

php max_execution_time 30 秒,但运行脚本 2 小时

我通过命令行运行了一个脚本2小时。该脚本在MacOSX上运行并查询数据库以获取作业列表并生成pdf并一遍又一遍地发送电子邮件。它继续前进并没有失败。该脚本从命令行运行。我以为只有30秒。 最佳答案 PHPCLIvs.PHPCGImax_execution_time:CLIdefaultis0(unlimited)(备案:CLI-命令行界面) 关于phpmax_execution_time30秒,但运行脚本2小时,我们在StackOverflow上找到一个类似的问题:

PHP DateTime::diff 问题与 DateTime::format

当我尝试使用正常的PHP代码(d、Y、m等)为日期和时间格式化我的日期差异时,它只输出字母,而不是值。这仅在我格式化DateTime::diff时才会发生。它适用于简单的DateTime对象。这个:$date1=newDateTime('2000-01-01');$date2=newDateTime('now');$date=$date2->diff($date1);echo$date->format('ddaysago');“d天前”的输出。我知道如果我用%a替换d,它会输出这是多少天前的信息。我想知道还有哪些字符可以输出秒、分甚至年。提前致谢! 最佳答案

php - 为什么 DateTime::diff 在这些日期之间返回 0 天?

考虑以下测试用例:$start=newDateTime("2011-02-25");$end=newDateTime("2011-03-25");$interval=$end->diff($start);echo"INTERVAL=".$interval->format("%d");//Shouldgivemethe//intervalindays,right?echo"START=".$start->format("Y-m-d");echo"END=".$end->format("Y-m-d");结果是:INTERVAL=0diff()似乎声称2011年2月25日和2011年3月25