テキスト ファイルからデータベースにデータを移動しています。テキスト ファイルには、「10 月 29 日」と「11 月 1 日」という形式の日付があります (このファイルでは、10 月と 11 月だけが 2 か月です)。日付をmysqlデータベースに保存します。この形式を手動で行わずに日付フィールド (2012 年を想定) に変換するにはどうすればよいですか?
質問する
383 次
3 に答える
1
$str = 'Oct 29';
$str = strtotime("$str " . date('Y'));
// add the currect year and convert it into Unix timestamp
$formatted = date('Y-m-d H:i:s',$str);
// then convert it into MySQL datetime format
echo $formatted;
于 2012-11-04T01:11:55.093 に答える
1
テキストファイルを表示せずに、年を2012とする$array as $item['datefield']
と、phpだけで日付の変換を実行する配列を含みます。
foreach ($array as $item) {
// Format other vars...
$insert_date = date("Y-m-d", strtotime($item['datefield']." 2012"));
$query_insert = "
INSERT INTO table_name (column1, column2, datefield,...)
VALUES ($item['value1'], $item['value2'], $insert_date,...)
";
}
日付フィールドにフォーマットがないため、フォーマットにはほとんど意味がありyyyy-mm-dd H:m:s
ません...
于 2012-11-04T01:16:31.347 に答える
1
以下は機能するはずですが、最適化を行うことができる場合があります。
$date = 'Oct 29';
list($month, $day) = explode(' ',$date);
$mysql_date = date('Y-m-d H:i:s', strtotime("$day $month 2012"));
あなたは逃げることができるかもしれません:
$date = 'Oct 29';
$mysql_date = date('Y-m-d H:i:s', strtotime("$date 2012"));
ただし、実行しているphpのバージョンで後者をテストする必要があります。
于 2012-11-04T01:07:22.303 に答える