草庐IT

time_diff

全部标签

PHP DateTime::Diff "steals"一天

我想计算两天之间的日期差异。问题是当我计算天数时,计算中缺少一天(当天)。假设date1是20-12-2014,date2是21-12-2014。DateTime::Diff使用这两个日期的结果是0(我想是1,而不是零)我是不是漏掉了什么不好的东西,或者DateTime::Diff像我上面解释的那样计算日期差异?这是我正在使用的代码(我想以天为单位显示日期差异):$currentDay=newDateTime();$listDay=newDateTime($results["date"]);//frommysqldatabase(outputislike21-12-2014$inter

php - Doctrine 中的额外 changeColumns generate-migrations-diff

我在不同的yaml模式文件之间生成迁移:即运行:symfonyDoctrine:生成迁移差异生成的迁移文件包含大量未在上次架构文件更改中添加的changeColumn调用。例如,如果您在不更改模式文件的情况下运行generate-migrations-diff,您应该得到一个空的up()函数。但是,为我生成的函数对我数据库中的几乎每个表都有一个changeColumn调用。我做错了什么还是这是一个错误? 最佳答案 generate-migrations-diff不会区分两个不同的yaml文件。它实际上比较你的模型和你的yaml文件,

php - 检查是否存在 "run-time"多维数组键

我有一个多维数组。我需要一个检查指定键是否存在的函数。让我们拿这个数组$config['lib']['template']['engine']='setted';当我调用一个函数时,它应该返回true:checkKey('lib','template','engine');//>Checksifisset$config['lib']['template']['engine']请注意,我的数组不仅仅是3维的。即使只有一维,它也应该能够检查:checkKey('genericSetting');//>Returnsfalsebecase$c['genericSetting']isn'tse

php - 在类中使用 PHP time() 函数

这当然是一个非常简单的问题,但我似乎无法在任何地方找到答案。我正在编写一个需要知道当前时间的PHP类。此代码有效:classclassName{private$currentTime=1475607467;[...]}这段代码不会:classclassName{private$currentTime=time();[...]}什么给了?由于“time()”返回相同的10位数字,它们不应该是等价的吗? 最佳答案 我建议您在构造函数中填充该属性:classclassName{private$currentTime;publicfunct

php - CodeIgniter 事件记录 : Load One Row at a Time

文档中描述的普通result()方法似乎会立即加载所有记录。我的应用程序需要加载大约30,000行,并且一次一个,将它们提交给第三方搜索索引API。显然,一次将所有内容加载到内存中效果不佳(由于内存太多而出错)。所以我的问题是,如何才能达到传统MySQLiAPI方法的效果,在这种方法中,您在循环中一次加载一行? 最佳答案 这是您可以做的事情。while($row=$result->_fetch_object()){$data=array('id'=>$row->id'some_value'=>$row->some_field_nam

php - 如何将 Eastern Time Zone 转换为 CENTRAL TIME ZONE

我有一个在东部时区的时间,但我想将它调整为中部时区。两个时区都在美国。我从来没有这样做过?我不知道如何转换它。请帮帮我好吗? 最佳答案 这是一种可能的方法:$dt=newDateTime('2011-02-2216:15:20',newDateTimeZone('America/New_York'));echo$dt->format('r').PHP_EOL;$dt->setTimezone(newDateTimeZone('America/Chicago'));echo$dt->format('r').PHP_EOL;您可以获得可

php - 正则表达式 : same character 3 times

我想要一个正则表达式(在php中)对此(相同字符3次):aa=>falseaaa=>truebaaa=>trueaaab=>trueaaaaaab=>truebaaab=>truebabababa=>false对于任何字符,不仅仅是'a'和'b'。 最佳答案 您可以使用back-references在正则表达式中/(.)\1\1/ 关于php-正则表达式:samecharacter3times,我们在StackOverflow上找到一个类似的问题: https

php - 如何找到特定 HH :MM time given a UTC offset in PHP? 的 UNIX 时间戳

我有一个以秒为单位的整数形式的UTC偏移量列表。例如-36000表示-10小时。我如何在PHP中具有该偏移量的位置找到UNIX时间戳,例如晚上10:00。PS:这不是作业谢谢 最佳答案 newDateTime($yourTimestamp,newDateTimeZone('UTC'));应该没问题 关于php-如何找到特定HH:MMtimegivenaUTCoffsetinPHP?的UNIX时间戳,我们在StackOverflow上找到一个类似的问题: htt

PHP 区分 only-date 或 only-time 以及两者

我在SO上搜索答案后乐观地发布了这个,即使SO告诉我我的问题可能已经结束,因为我认为在这种情况下这是一个有效的问题。考虑一个CSV文件,其中一列包含表示日期、时间或两者的字符串。我想在查看该专栏后找出-确切它是什么类型的专栏,而不仅仅是它是一个有效的“日期”?PHP函数strtotime在为几乎任何日期时间字符串返回unix时间戳方面做得非常出色。但是(今天,当我在10/8/2018发布这篇文章时),3:45PM和15:45:00和10/8/20183:45PM将全部返回相同的unix时间,但显然前两个是时间。有什么方法可以确定字符串是严格的日期组成部分、时间组成部分还是两者兼而有之?

PHP DateTime::Diff 弄错了吗?

DateTime::Diff应计算适当的时间间隔并考虑夏令时(DST)和闰年。虽然显然不是这样。恐怖代码:$d1=newDateTime("2011-10-3001:05:00",newDateTimeZone("Europe/Stockholm"));$d2=newDateTime("2011-10-3003:05:00",newDateTimeZone("Europe/Stockholm"));echo$d1->getOffset()/(60*60);打印“2”!因此请记住,前一天的UTC时间=1h-2h=23:05:00。echo$d2->getOffset()/(60*60);