DATE DATETIME TIMESTAMP
DATE | 日付部分のみの値を扱います。"YYYY-MM-DD" 形式で取得し表示します。 |
DATETIME | 日付と時間の値を扱います。"YYYY-MM-DD hh:mm:ss" 形式で取得し表示します。 |
TIMESTAMP | 日付と時間の値を扱います。"YYYY-MM-DD hh:mm:ss" 形式で取得し表示します。 |
テーブルの作成やレコードの登録は以下のようにします。
// テーブルの作成
CREATE TABLE ts (update_time datetime not null);
// レコードの登録
INSERT INTO ts (update_time) VALUES (now());
DATETIME と TIMESTAMP の違い
TIMESTAMP の値は、保存時にはタイムゾーンから UTC へ、読み出し時には UTC からタイムゾーンへと変換されます。
DATETIME はタイムゾーンの影響を受けることなく文字列として認識され保存されます。
datetime のデータを加工する
script.js - Node.js
const mysql = require('mysql2/promise');
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
database: 'sample',
password: 'password',
});
(async () => {
try {
const [results, fields] = await pool.query('SELECT * FROM ts');
let date = new Date(results[0]["update_time"]).toLocaleString("sv-SE");
console.log(date); // 2024-04-05 18:36:12
let date2 = new Date(results[0]["update_time"]);
console.log(date2.getFullYear() + "/" + (date2.getMonth() + 1) + "/" + date2.getDate()); // 2024/4/5
console.log(results[0]["update_time"]); // 2024-04-05T09:36:12.000Z
} catch (err) {
console.log(err);
}
pool.end();
})();