首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP语言中向$Date添加天数

在PHP语言中向$Date添加天数
EN

Stack Overflow用户
提问于 2010-09-16 22:23:07
回答 10查看 529.6K关注 0票数 252

我有一个日期以2010-09-17的形式作为mySQL查询的一部分返回

我想将变量$Date2设置为$Date5,如下所示:

$Date2 = $Date + 1

$Date3 = $Date + 2

等等。

这样它就会返回2010-09-182010-09-19等。

我试过了

date('Y-m-d', strtotime($Date. ' + 1 day'))

但这给了我$Date之前的日期。

获取'Y-m-d‘格式的日期的正确方法是什么,以便它们可以在另一个查询中使用?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2010-09-16 22:46:42

您所要做的就是使用days代替day,如下所示:

<?php
$Date = "2010-09-17";
echo date('Y-m-d', strtotime($Date. ' + 1 days'));
echo date('Y-m-d', strtotime($Date. ' + 2 days'));
?>

并且它正确地输出:

2010-09-18
2010-09-19
票数 525
EN

Stack Overflow用户

发布于 2010-09-16 22:26:18

如果您使用的是PHP5.3,则可以使用DateTime对象及其add方法:

$Date1 = '2010-09-17';
$date = new DateTime($Date1);
$date->add(new DateInterval('P1D')); // P1D means a period of 1 day
$Date2 = $date->format('Y-m-d');

看看DateInterval constructor手册页,看看如何构造其他时间段添加到您的日期中(2天是'P2D',3天是'P3D',依此类推)。

没有PHP5.3,你应该能够像以前那样使用strtotime (我已经测试过了,它在5.1.6和5.2.10中都能工作):

$Date1 = '2010-09-17';
$Date2 = date('Y-m-d', strtotime($Date1 . " + 1 day"));
// var_dump($Date2) returns "2010-09-18"
票数 99
EN

Stack Overflow用户

发布于 2015-01-29 02:25:28

从PHP5.2开始,您可以对DateTime对象使用modify:

http://php.net/manual/en/datetime.modify.php

$Date1 = '2010-09-17';
$date = new DateTime($Date1);
$date->modify('+1 day');
$Date2 = $date->format('Y-m-d');

添加月份时要小心...(在较小的程度上,还有年份)

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3727615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档