views:

60

answers:

2

I want to transform a date from this format: 01/07/09 to this jan 07,09.

How can I do that in PHP?

+2  A: 

Use strptime to parse the value you've got, then date to output it in the format you want:

echo date("M d,y", strptime("01/07/09", "d/m/y"));

If you're on Windows, or using a version of PHP where strptime is not available (< PHP 5.1.0), then use strtotime instead, but be careful to make sure your date is in a US English format (i.e. "01/07/09" means January 7th 2009, not 1st July 2009).

Also, if you really want jan, rather than Jan, then use strtolower:

echo strtolower(date("M d,y", strptime("01/07/09", "d/m/y"));
Dominic Rodger
Also note, `strptime` is not implemented on Windows.
Brian McKenna
@Brian, thanks - edited in a comment about using `strtotime` where `strptime` is unavailable.
Dominic Rodger
@Dominic, you have the order of arguments for `date` mixed up. Should be: `date( $format, [ $timestamp ] )`
fireeyedboy
@fireeyedboy - thanks, fixed. I suck.
Dominic Rodger
+6  A: 

I'm pretty sure this is what you need.

<?php echo date('M d, y', strtotime('01/07/09'));?>
Thorpe Obazee