将天数增加到 php 当前 Date()
如何在 PHP 中向当前日期添加一定天数?
我已经得到了当前日期:
$today = date('y:m:d');
只需添加 x 天数即可
How do I add a certain number of days to the current date in PHP?
I already got the current date with:
$today = date('y:m:d');
Just need to add x number of days to it
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
php
支持 C 风格的日期函数。 您可以通过strtotime
函数使用英语风格短语添加或减去日期周期。 例子...或
php
supports c style date functions. You can add or substract date-periods with English-language style phrases via thestrtotime
function. examples...or
一天是86400秒。
a day is 86400 seconds.
最简单的方法是添加x号。 天数..
或从指定日期开始...
The simplest way to add x no. of days..
OR from specified date...
使用 php 5.3
将输出
2012-12-24
2012-12-25
2012-12-26
With php 5.3
will output
2012-12-24
2012-12-25
2012-12-26
date_add()
函数应该做你想做的事。 此外,请查看文档(非官方的,但官方的有点稀疏)DateTime
对象,它比 PHP 中的过程函数好用得多。The
date_add()
function should do what you want. In addition, check out the docs (unofficial, but the official ones are a bit sparse) for theDateTime
object, it's much nicer to work with than the procedural functions in PHP.如果您在多个地方需要此代码,那么我建议您添加一个简短的函数,以使您的代码更简单且更易于测试。
然后你可以在任何地方使用它,如下所示:
If you need this code in several places then I'd suggest that you add a short function to keep your code simpler and easier to test.
Then you can use it anywhere like this:
将 15 天添加到选择元素(使用“Alive to Die”建议)
Add 15 day to a select element (using "Alive to Die" suggestion)
$NewTime = mktime(日期('G'), 日期('i'), 日期('s'), 日期('n'), 日期('j') + $DaysToAdd, 日期('Y '));
来自 mktime 文档:
此方法的优点是您可以在易于阅读的代码行中添加或减去任何时间间隔(小时、分钟、秒、天、月或年)。
请注意,这会影响性能,因为由于所有对 date() 函数的调用,此代码比 strtotime("+1 day") 慢约 2.5 倍。 如果您处于循环中,请考虑重新使用这些值。
$NewTime = mktime(date('G'), date('i'), date('s'), date('n'), date('j') + $DaysToAdd, date('Y'));
From mktime documentation:
The advantage of this method is that you can add or subtract any time interval (hours, minutes, seconds, days, months, or years) in an easy to read line of code.
Beware there is a tradeoff in performance, as this code is about 2.5x slower than strtotime("+1 day") due to all the calls to the date() function. Consider re-using those values if you are in a loop.
您还可以使用面向对象编程 (OOP) 来代替过程编程:
或者仅使用一行代码:
You can also use Object Oriented Programming (OOP) instead of procedural programming:
Or with just one line of code: