0

私の入力日付形式は dd/mm/yy です。次のコードを使用して yyyy-mm-dd に変換しています。

    $cal_date= $fileop[1];
    $date = str_replace('/', '-', $cal_date);
    $invdate=date('Y-m-d',strtotime($date));

私が得た結果は24/10/13--> 2024-10-13です。誰でも私を修正できますか。

ここでは、2 桁の年を 4 桁の年に変換し、/ を -dash に置き換えます。

4

4 に答える 4

0
$date = DateTime::createFromFormat('d/m/y',$cal_date);
$break = explode("/", $date);
$yearComp = $break[2];
if($yearComp < 70)
    $invdate = $date->format('Y-m-d'); 
else {
    // code that would add 100 years to the date generated }

ただし、69 は 2069 を出力しますが、70 は 1970 を出力することを知っておいてください。70 に到達しない場合は、これで問題ありません。

于 2013-10-25T17:03:51.717 に答える
-1

1 回の撮影で:

$invdate = date_format(date_create_from_format('m/d/y', $fileop[1]), 'Y-m-d');

入力の日付形式に自信がない場合:

if ($invdate = date_create_from_format('m/d/y', $fileop[1])) {
    $invdate = date_format($invdate, 'Y-m-d'); //date format yyyy-mm-dd
} else {
    echo "ERROR: '{$fileop[1]}' has not the date format mm/dd/yy";
}
于 2013-10-25T17:17:28.517 に答える