0

yyyy:mm:dd日付を(月の先行ゼロなし) から (月のyyyy-m-dd先行ゼロ付き)に変換する方法は?yyyy:mm:ddyyyy-m-dd

4

5 に答える 5

4

DateTime::createFromFormatを使用してから、DateTime::formatを使用できます。

例:

$date = DateTime::createFromFormat('Y:m:d', '2012:08:02');
echo $date->format('Y-m-d');

// without leading zero for month
$date = DateTime::createFromFormat('Y:n:d', '2012:8:02');
echo $date->format('Y-m-d');
于 2012-08-02T06:24:17.963 に答える
2

この関数を使用して、 UNIX タイムスタンプ$date=strtotime($date)で日付を取得します。その後、関数を使用して必要な形式に変換できます。例を次に示します。date("Y-m-d",$date)

$date=strtotime($olddate);
$date=date("Y-m-d",$date);
echo $date; // Now this will show you the date in the format you wanted :)
于 2012-08-02T06:23:39.610 に答える
2

これを試して:

$dateFrom ="2012:8:2";
$dateTo =  str_replace(":","-",$dateFrom);
$dateTo = date("Y-m-d", strtotime($dateTo));
echo $dateTo;
于 2012-08-02T06:27:52.823 に答える
1

機能を使用してくださいdate

dateはセパレーターとして認識されないため、:それを理解できるセパレーターに置き換える必要があり/ます。-str_replace

コード:

$orig_date = '2012:8:2';
$final_date = date('Y-n-d', str_replace(':', '/', $orig_date));
echo $final_date; // Result: 2012-8-02
于 2012-08-02T06:45:47.060 に答える
0

date() 関数を使用する

echo date('Y-m-d'); // for 1st case (replacing ':' with '-')
echo date('Y-j-d'); // for 2nd case (without leading zero)
于 2012-08-02T06:23:44.563 に答える