0

カスタム ユーティリティ クラスから、日付変数の形式を次の形式で取得しますd-m-Y。私の計画は使用するDate('Y-m-d', strtotime($myCustomDate))ことですが、PHP が毎回正しい日付を返すかどうかはわかりません。自分のアプローチが安全であることをどのように確認できますか?

2013 年 3 月 2 日が必要な場合、2013 年 2 月 3 日が 2013 年 2 月 3 日と同等の mysql として変換されないことをどのように知ることができますか?

この問題にどう対処しますか?

4

2 に答える 2

1

最も安全な方法 (まったく別の話であるタイムスタンプを使用する以外) は、このYYYY-MM-DD形式を使用することです。これは、逆はあり得ず (つまりYYYY-DD-MM、定義されていない)、MySQL はそれをよく理解しているためです。

次に、PHP を使用して、他の必要な形式に変換できます。

于 2013-03-13T15:52:42.077 に答える
0

フォーマットが常に dmY の場合、preg_split 関数を使用して日付を構成要素に分割し、date を使用して再フォーマットできます。

<?PHP 
  $date = "3-13-2013";
  $date_parts = preg_split("/-/",$date);
  $newDate = Date("Y-m-d",mktime(0, 0, 0, $date_parts[0], $date_parts[1], $date_parts[2]));
?>

これにより、$newDate の値は 2013-03-13 になります。

于 2013-03-13T15:58:45.327 に答える