On Fri, Jul 26, 2013 at 1:08 PM, Robert Cummings <robert@xxxxxxxxxxxxx>wrote: > On 13-07-26 11:42 AM, jomali wrote: > >> On Fri, Jul 26, 2013 at 5:18 AM, Karl-Arne Gjersøyen <karlarneg@xxxxxxxxx >> >wrote: >> >> Below is something I try that ofcourse not work because of rsosort. >>> Here is my code: >>> ----------------------- >>> $lagret_dato = $_POST['lagret_dato']; >>> foreach($lagret_dato as $dag){ >>> >>> $dag = explode("/", $dag); >>> rsort($dag); >>> $dag = implode("-", $dag); >>> var_dump($dag); >>> >>> What I want is a way to rewrite contents of a variable like this: >>> >>> From 24/7/2013 to 2013-07-24 >>> >>> Is there a way in PHP to do this? >>> >>> Thank you very much. >>> >>> Karl >>> >>> >> $conv_date = str_replace('/', '-','24/7/2013'); >> echo date('Y-m-d', strtotime($conv_date)); >> Result: 2013-07-24 >> > > It would be better if you reformatted first since this is ambiguous when > you have the following date: > > 6/7/2013 > > Here's a completely unambiguous solution: > > <?php > > $old = '24/7/2013'; > > $paddy = function( $bit ){ return str_pad( $bit, 2, '0', STR_PAD_LEFT > ); }; > $new = implode( '-', array_map( $paddy, array_reverse( explode( '/', > $old ) ) ) ); > > echo $new."\n"; > > ?> > > Cheers, > Rob. > -- > E-Mail Disclaimer: Information contained in this message and any > attached documents is considered confidential and legally protected. > This message is intended solely for the addressee(s). Disclosure, > copying, and distribution are prohibited unless authorized. > The original question was about reformatting a European (Day/Month/Year) date. Your solution does not address this problem. Mine assumes the European date format explicitly.