Thursday, May 5, 2011

How can I get a date after 15 days/1 month in PHP?

In my PHP code I have a date in my variable "$postedDate".
Now I want to get the date after 7 days, 15 days, one month and 2 months have elapsed.

Which date function should I use?

Output date format should be in US format.

From stackoverflow
  • try this

    $date = date("Y-m-d");// current date
    
    $date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");
    $date = strtotime(date("Y-m-d", strtotime($date)) . " +1 week");
    $date = strtotime(date("Y-m-d", strtotime($date)) . " +2 week");
    $date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
    $date = strtotime(date("Y-m-d", strtotime($date)) . " +30 days");
    
  • Use strtotime.

    $newDate = strtotime('+15 days',$date)
    

    $newDate will now be 15 days after $date. $date is unix time.

    http://uk.php.net/strtotime

  • What’s the input format anyway?

    1) If your date is, say, array of year, month and day, then you can mktime (0, 0, 0, $month, $day + 15, $year) or mktime (0, 0, 0, $month + 1, $day, $year). Note that mktime is a smart function, that will handle out-of-bounds values properly, so mktime (0, 0, 0, 13, 33, 2008) (which is month 13, day 33 of 2008) will return timestamp for February, 2, 2009.

    2) If your date is a timestamp, then you just add, like, 15*SECONDS_IN_A_DAY, and then output that with date (/* any format */, $postedDate). If you need to add one month 30 days won’t of course always work right, so you can first convert timestamp to month, day and year (with date () function) and then use (1).

    3) If your date is a string, you first parse it, for example, with strtotime (), then do whatevee you like.

0 comments:

Post a Comment