$ orderdateという変数があり、このmm-dd-yyyyのような日付形式に設定されています。
PHPでは、この変数を$ month、$ day、$ yearにどのように分割しますか?
ご協力いただきありがとうございます。
入力値の形式について確信がある場合は、次のようにします。
_$orderdate = explode('-', $orderdate);
$month = $orderdate[0];
$day = $orderdate[1];
$year = $orderdate[2];
_
preg_match()
を使用することもできます:
_if (preg_match('#^(\d{2})-(\d{2})-(\d{4})$#', $orderdate, $matches)) {
$month = $matches[1];
$day = $matches[2];
$year = $matches[3];
} else {
echo 'invalid format';
}
_
さらに、 checkdate()
を使用して日付を検証できます。
あなたがいる場合 特定されません 入力形式については、次のこともできます。
$time = strtotime($input);
$day = date('d',$time);
$month = date('m',$time);
$year = date('Y',$time);
list($month, $day, $year) =explode("-",$orderdate);
良いアプローチは date_parse_from_format() を使用することです。
あなたの例のために:
$dateStr = '03-27-2015';
$dateArray = date_parse_from_format('m-d-Y', $dateStr);
これは与える $dateArray
なので:
Array
(
[year] => 2015
[month] => 3
[day] => 27
[hour] =>
[minute] =>
[second] =>
...
)
explode
を使用して文字列を分割します
list($m,$d,$y)=explode('-',$date);