2009/8/19 Shawn McKenzie <shawn@xxxxxxxxxxxxx> > Shawn McKenzie wrote: > > tedd wrote: > >> At 3:40 PM +0530 8/17/09, kranthi wrote: > >>> dont you think http://in3.php.net/strtotime is a solution to your > >>> problem ? > >> No, it's not a solution to my problem -- I have he problem solved. > >> > >> I was just asking if anyone wanted to submit their php solution. It was > >> only an exercise. > >> > >> I know there are numerous javascript solutions (some good, some bad), > >> but ALL of their data has to be accepted and scrubbed by a php script > >> anyway, so I was suggesting creating a php script to do it. > >> > >> If it's not a good exercise, then don't do it. > > > > First stab at it. Of course it needs US date ordering (month day year). > > You can't do euro type dates or any other format because there is no > > way to tell the difference between 1/2/2009 (January) and 1/2/2009 > > (February): > > > > <?php > > > > $dates = array( > > 'August 5, 2009', > > 'Aug 05 2009', > > 'Aug 5, 9', > > '08/05/09', > > '8-5-9', > > '8 05 2009', > > '8,5,9',); > > > > foreach($dates as $date) { > > $date = preg_replace("#([\d])+[^/\d]+([\d]+)[^/\d]+([\d]+)#", > > "$1/$2/$3", $date); > > echo date("M j, Y", strtotime($date)) ."\n"; > > } > > > > ?> > > > > Guess you didn't like this one? Also, if you change the / to - in the > preg_replace() it should work on Euro style dates. > > $date = preg_replace("#([\d])+[^-\d]+([\d]+)[^-\d]+([\d]+)#", > "$1-$2-$3", $date); > > -Shawn > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > Perhaps you could detect the region of the user to pick which kind of date to use -- Luke Slater :O) this text is protected by international copyright. it is illegal for anybody apart from the recipient to keep a copy of this text. dieser text wird von internationalem urheberrecht geschuetzt. allen ausser dem/der empfaenger/-in ist untersagt, eine kopie dieses textes zu behalten.