-3

コードを使用してカレンダーから日付を取得しています

if ($_POST){
    $m = $_POST['m'];
    $d = $_POST['d'];
    $y = $_POST['y'];

$event_date = $y."-".$m."-".$d;

日付の形式は yyyy-md です。データベースに挿入できるように形式を yyyy-mm-dd に変更するにはどうすればよいですか

4

7 に答える 7

5
$time = strtotime( $event_date );
$myDate = date( 'Y-m-d', $time );

最初の行はタイムスタンプに変換されます。2行目は、希望する日付形式に変換します

于 2012-09-03T11:37:00.527 に答える
1

1つの可能性は、とdate()組み合わせて使用​​ することですmktime()

$event_date = date('Y-m-d', mktime(0, 0, 0, $m, $d, $y));
于 2012-09-03T11:36:52.353 に答える
0

使用する前に、次のように変換できます。

if($_POST['m']<10)
{
    $m='0'.$_POST['m'];
}
else
{
    $m=$_POST['m'];
}
于 2012-09-03T11:36:25.377 に答える
0
if ($_POST){
    $m = $_POST['m'];
    $d = $_POST['d'];
    $y = $_POST['y'];

if($m<10)
{
  $m="0".$m;
}
if($d<10)
{
  $d="0".$d;
}
$event_date = $y."-".$m."-".$d;
}
于 2012-09-03T11:38:30.347 に答える
0

何かうまくいきsubstr("00" . $m, -2)ますか?

PHP を使用しないでください。構文が間違っている可能性がありますが、アプローチは明らかです。先頭に 00 を追加してから、最後の 2 文字を取得します

于 2012-09-03T11:41:17.623 に答える
0

strftime を使用し、checkdate を使用してチェックを実行できます。

if ($_POST){

  $m = $_POST['m'];
  $d = $_POST['d'];
  $y = $_POST['y'];

  $event_date = checkdate($m, $d, $y) ? strftime('Y-m-d', mktime(0, 0, 0, $m, $d, $y)) : null;  
}
于 2012-09-03T11:42:53.857 に答える
0
 echo(date("Y-m-d", strtotime($event_date)));
于 2012-09-03T11:43:44.830 に答える