我有一个作为MySQL查询的一部分返回的日期,格式为2010-09-17。
我想要将变量$Date2至$Date5设置如下:
$Date2 = $Date + 1
$Date3 = $Date + 2
等等,这样返回2010-09-18,2010-09-19,等等。
我尝试过
date('Y-m-d', strtotime($Date. ' + 1 day'))
但这给我返回的是在$Date之前的日期。
有什么正确的方法可以以'Y-m-d'格式获取我的日期,以便它们可以在另一个查询中使用?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果您使用的是PHP 5.3,您可以使用
DateTime对象及其add方法:$Date1 = '2010-09-17'; $date = new DateTime($Date1); $date->add(new DateInterval('P1D')); // P1D表示1天的时间段 $Date2 = $date->format('Y-m-d');请参阅
DateInterval构造函数手册页面,了解如何构造其他时间段以添加到您的日期(例如2天为'P2D',3天为'P3D'等)。如果没有PHP 5.3,您应该可以像之前那样使用
strtotime(我已经测试过,在5.1.6和5.2.10中都有效):$Date1 = '2010-09-17'; $Date2 = date('Y-m-d', strtotime($Date1 . " + 1 day")); // var_dump($Date2)返回"2010-09-18"你只需要像这样使用
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')); ?>它会正确输出: