フォーマットを持っているデータを変換したい
$dateToday = date("d-m-Y");
したがって、$dateToday の値は27-12-2012 です
次に、mysql データ型dateでデータベースに保存します。2012-12-27の形式で mysql データベースに保存できる27-12-2012の値を保持するにはどうすればよいですか? お願い助けて。ありがとうございました
はい、日付を変換できますstrtotime();
$dateToday = date("d-m-Y");
$newDate = date("Y-m-d", strtotime($dateToday));
出力: 2012-12-27
そして、データをデータベースに保存できます。
日付を復元する必要がある場合は、次のようにこの操作を逆にすることができます。
$dateFromDatabase = "2012-12-27";
$reverseDate = date("d-m-Y", strtotime($dateFromDatabase));
出力: 27-12-2012
(2回目のデートコールで「Ymd」を「dmY」に修正)
出力が間違っています。これはデータベースからの日付を表示できません。これは 1970/01/01 を示しています..... $date=Date($year."/". $month."/". $day); $date=Date("Ymd", strtotime($date)); $日付をエコーします。enter code here
その方法を教えます。説明するために、DATE 型のtesttable1
1 つの列のみを含む
1 つのテーブルを作成します テーブル作成クエリを以下に示しますcol1
CREATE TABLE `testtable1` (
`col1` DATE NULL DEFAULT NULL
)
次のクエリは、必要に応じて機能します。最初の行で、文字列変数を宣言しました。2 行目で、その文字列を必要な日付形式に変換し、テーブルに挿入しました。
set @var1='27-12-2012';
insert into testtable1 values(STR_TO_DATE(@var1, '%d-%m-%Y'))
この形式で MYSQL テーブルにデータを格納する場合は、列を として宣言する必要がありますvarchar
。
datetime
ストアの日付は次のような別の形式であるため、'yyyy-mm-dd hh:mm:ss'
文字列から日付に変換するために mysql 関数、つまり STR_TO_TIMEを使用することもでき ます。SQL クエリは次のようになります。
INSERT INTO foo_table (foo_date)
VALUES (STR_TO_DATE('27-12-2012','%d,%m,%Y'))
これがどのように機能するかです:
データを適切な mysql 形式で保存する必要があります。これにより、日付の順序付け、集計、フィルタリング、および計算を行うことができます。
ただし、データを表示する必要がある場合は、mysqlDATE_FORMAT()
関数を使用して、任意の形式に変換できます。
SELECT DATE_FORMAT(dt,'%d-%m-%Y') as dtf FROM TABLE
dtf
カスタムフォーマットでフォーマットされたフィールドを提供します
これを試して
$dateToday = date("d-m-Y");
$dateForMysql = date('Y-m-d', $dateToday));