Hi i am coding a web page with five date fields on it. I am converting date from DD/MM/YYYY to mysql date format i.e. YYYY-MM-DD with this code <?php $date1 = $_POST['date1']; $date2 = $_POST['date2']; $date3 = $_POST['date3']; $date4 = $_POST['date4']; $date5 = $_POST['date5']; $newdate1 = explode("/",$date1); $dd1 = $newdate1[0]; $mm1 = $newdate1[1]; $yy1 = $newdate1[2]; $date1new = "$yy1-$mm1-$dd1"; echo $date1new; // & so on to convert all dates ?> <html> <head> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> Date1 <input type="text" name="date1" size="12" /> <br /> Date2 <input type="text" name="date2" size="12" /> <br /> Date3 <input type="text" name="date3" size="12" /> <br /> Date4 <input type="text" name="date4" size="12" /> <br /> Date5 <input type="text" name="date5" size="12" /> <br /> <br /> <input type="submit" Value="Submit" /> </form> </body> </html> PHP: is there any simple way or function to convert all five dates at once using custom function? please help....
Hi, you could give this a go <?php /** * @param <string> $aDate in format DD/MM/[CC]YY century optional * @return <string> converted date in format CCYY-MM-DD */ function simpleDateParser( $aDate ) { $dateParts = preg_split( "/[\s,-\/]/" , $aDate ); // the delimiters can be space, - or / // Add a century if not provided if ( strlen($dateParts[2]) == 2 ) { if ( $dateParts[2] > 70 ) { $dateParts[2] += 1900; } else { $dateParts[2] += 2000; } } return sprintf("%04d-%02d-%02d", $dateParts[2], $dateParts[1], $dateParts[0]); } print "{$_REQUEST['aDate']} <br/>" . simpleDateParser($_REQUEST['aDate']) ; ?>
thanks for ur reply basilbear... can u please explain me in detail how can I parse all five dates fields in this function & get new five dates to store in DB..
Hello mfp, just add the function to you script (or to an included functions script) and call it like this: $date1 = simpleDataParser( $_POST['date1'] ); $date2 = simpleDataParser( $_POST['date2'] ); etc ... regards BB