草庐IT

日期差

全部标签

php - 获取从现在到 x 天后的所有日期

我正在尝试调用一个函数,该函数将返回从现在到过去的可变天数之间的所有天数。下面是一些伪代码与真实代码的混合。你们能帮忙让它返回所有日期的数组吗?functiongetTimeStamps($numDays){$today=date("Y-m-d");$startDate=$today-$numdays;$movingDay=$startDate;$results=array();while($movingDay这个函数会返回array('2013-12-10','2013-12-11','2013-12-12','2013-12-13','2013-12-14','2013-12-15

php - 检查自日期以来耗时是否超过 X 天

我需要创建一个PHP脚本,从数据库中提取各种内容(日志、消息、登录等)的时间戳,并在它们超过X天后将其删除。我不擅长按时间工作,而且对最好的方法有点难过。我意识到我可以使用explode()分隔字符串中的日/月/年并将它们与一堆If语句进行比较,但我想使用更有效的方法。像下面这样的东西是正确的方法吗?$dt="2011-03-1910:05:44";//if$dtisolderthan90daysif((time()-(60*24*90))>strtotime($dt)){}从time()中减去(分钟*小时*天)还是数字有误? 最佳答案

php - 获取两个日期之间的所有月份

我创建了一个函数,它返回一个包含每个月的数组,从提供的碳日期开始到当前日期结束。虽然这个函数正在做它应该做的事情,但它看起来很丑陋。很明显,我的编程技能还没有达到应有的水平。当然,必须有更好的方法来实现我想要的。我的代码是这样的:classDateUtilities{protected$months=['january','february','march','april','may','june','july','august','september','october','november','december'];publicfunctiongetMonthListFromDat

php - 将日期设置为列表 Cakephp 3 中的 keyField

我已经使用列表从模型中获取数据并且效果很好这个例子来自Cakephp文档$query=$articles->find('list',['keyField'=>'slug','valueField'=>'title']);$data=$query->toArray();我有一个表名holidaysid[int]|date[date]|name[varchar(200)]|created[datetime]所以想要一个以日期为键、假期为值的列表像这样的东西['2016-01-01'=>'NewYear','2016-01-26'=>'RepublicDay',]所以我通过蛋糕烘焙创建模型并

php - 检查今天的日期是否超过到期日期

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestion有人可以帮我解决这个问题吗:prepare("SELECT*FROMservice_infoWHEREid=:id");$result->bindParam(':id',$_SESSION['id']);$result->execute();for($i=0;$i=0;$row=$result->fetch();$i++){?>";if($enddate我想要实现的是找出$row['datepic

php - 如何在 Zend Framework 表单中创建日期时间验证器?

默认情况下,ZendFramework日期验证器使用日期格式yyyy-MM-dd:$dateValidator=newZend_Validate_Date();但我想添加小时和分钟验证。换句话说,我想要求用户输入小时和分钟。但以下不起作用:$dateValidator=newZend_Validate_Date('yyyy-MM-ddhh:ii');如果我输入2010-02-01,我会收到一条错误消息,指出日期不符合格式。如果我输入2010-02-013,它不会提示。它所做的是假设用户的意思是2010-02-0103:00而不是强制用户以给定格式输入日期。如何强制必须以给定格式输入日期

php - 将日期格式转换为mysql时间戳

我有一些日期作为以下字符串返回:Fri,13Aug201001:48:47-0400(EDT)我想解析它并将它变成一个日期时间戳,所以像这样:2010-08-1301:48:47任何帮助都会很棒...谢谢! 最佳答案 您似乎不想转换时区。您可以使用date()来做到这一点和strtotime()像这样的功能:$date="Fri,13Aug201001:48:47-0400(EDT)";$date=explode('-',$date);echodate("Y-m-dH:i:s",strtotime($date[0]));//does

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

php - 按子键日期对多维数组进行排序?

我有以下数组:[0]=>Array([name]=>TheName[description]=>description[date]=>Thur,May5@7:00p.m.[rating]=>PG[year]=>2011)[1]=>Array([name]=>Name2[description]=>description2[date]=>Sun,May8@7:30p.m.[rating]=>14A[year]=>2011)还有大约5-10个零件。我最终想要做的是使用数组的日期部分按天对这些项目进行分组(即,“所有具有“日期”的项目都应按“5月8日”分组)。知道我该怎么做吗?请注意,“日期

php - 过滤 scandir 并按创建日期排序

我需要获取数组中目录中的文件。仅以.markdown结尾的文件文件应按创建日期排序效率不是一个巨大的交易,但我总是喜欢让事情尽可能高效。将有多个目录,每个目录中最多有几百个文件。我知道我使用scandir函数将文件放入数组中,但我不确定从那里去哪里。我可以将它放入循环中以检查文件是否以.markdown结尾,但是是否有某种正则表达式我可以传递给扫描?谢谢 最佳答案 您可以使用glob()获取文件名数组然后使用usort()和filectime()按创建日期排序:$files=glob('*.markdown');usort($fil