2

質問があります。PHP スクリプトを使用しています。データベースに日付を追加するときに何か問題があります...

この日付を修正/再調整するにはどうすればよいですか

date( "Oct 18, 2012 05:06:42" );

私のデータベースは受け入れのみ2012-10-19 05:06:42

しかし、私はこれである別のフォームを受け取っていますOct 18, 2012 05:06:42

ここに私のコード例があります

$cocod = date( 'Oct 18, 2012 05:06:42' );//'Oct 18, 2012 2012-10-18';
$get = strtotime(date("Y-m-d H:m:s", strtotime($cocod)) . " +30 day");
$setex = date( 'Y-m-d H:m:s', $get );
echo $setex;

ありがとうございました...

4

3 に答える 3

3

これはどう:

$cocod = 'Oct 18, 2012 05:06:42'; // original date

$get = date("Y-m-d H:i:s", strtotime($cocod . " +30 days"));

echo $get;

出力

2012-11-17 05:06:42

于 2012-10-19T11:28:14.160 に答える
1

DateTimeクラスを使用して、フォーマットされた日付をタイムスタンプに戻すことができます

$timestamp = DateTime::createFromFormat('M d, Y H:i:s', 'Oct 18, 2012 05:06:42')->getTimestamp();

上記の例では、30日を追加したいと思っていることがわかります。あなたはこのようにそれをすることができます:

$date = DateTime::createFromFormat('M d, Y H:i:s', 'Oct 18, 2012 05:06:42');
$date->add(new DateInterval('P30D'));

日付を再度フォーマットする場合は、次のようにします。

$date->format('Y-m-d H:m:s');

詳細については、php.netのDateTimeクラスをご覧ください。

于 2012-10-19T11:34:46.240 に答える
0

長い道のり...

$d0 = explode(",", $date);

$d1 = explode(" ", $d0[0]);

$d2 = explode(" ", trim($d0[1]));


$year = $d2[0];
$month = monthToInt($d1[0]);
$day = $d1[1];
$time = $d2[1];


$mysql_date = $year . "-" . $month . "-" . $day . "" . $time; 

このmonthToInt関数は、「」を取りOct、それを。に変換する関数です10if statementsあなたは12かaでそれをあなた自身で非常に簡単に書くことができますswitch statement、あるいはインターネットであらかじめ作られたものを見つけることができます。

于 2012-10-19T11:36:22.417 に答える