开发者

How to get next Date with specific time in PHP

开发者 https://www.devze.com 2023-03-09 14:08 出处:网络
I want to get the date with specific day and time in PHP, like i want the date of next day and time of 9.30 am i.e \"2011-06-02 09:30:00\".

I want to get the date with specific day and time in PHP, like i want the date of next day and time of 9.30 am i.e "2011-06-02 09:30:00". the code i was using get to do that,

<?php
   $next_day_dat开发者_StackOverflow社区e = date("Y")."-".date("m")."-".(date("d")+1)."  09:30:00";
   $new_trig_time_stamp = strtotime($next_day_date);
   $trigger_date_time = date("Y-m-d H:i:s",$new_trig_time_stamp);
   echo $trigger_date_time;
?>

the code above works fine but fails on 31 day, on 31st it returns "1970-01-01 05:30:00". Is there any other way to do so.


When shifting dates by a fixed number, it's better to use mktime(), because it handles invalid dates well (e.g. it knows that January 32 is in fact February 1)

$trigger_date_time = date("Y-m-d H:i:s", mktime(9,30,0, date('n'), date('j')+1, date('Y'));


strtotime() is very useful here.

$trigger_date_time = date( "Y-m-d H:i:s", strtotime( "tomorrow 9:30" ) );


Calculate it via unix timestamp - much less annoyance

<?php
   $trigger_date_time = date("Y-m-d 09:30:00",time() + 60*60*24);
   echo $trigger_date_time;
?>


echo date('Y-m-d', strtotime('+1 day')) . ' 09:30:30';


Have a look at date_add.

In more detail, something like...

$myDate = new DateTime("Some time");
$myDate->add(new DateInterval("P1D"));

You can then use $myDate->format(…) to extract formatted representations.

0

精彩评论

暂无评论...
验证码 换一张
取 消