MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang menyokong cap masa pemprosesan. Cap masa ialah kaedah yang direkodkan untuk mewakili masa dan tarikh dalam kebanyakan sistem komputer. Cap masa boleh disimpan dalam pangkalan data MySQL dan kemudian disoal, diisih, dsb. Walau bagaimanapun, apabila menggunakan cap masa, anda kadangkala menghadapi beberapa masalah penukaran. Artikel ini akan memperkenalkan kaedah penukaran cap waktu MySQL.
1. Perbandingan antara cap waktu UNIX dan cap waktu MySQL
Cap masa Unix ialah perwakilan masa dalam Unix, yang mewakili bilangan saat sejak 1 Januari 1970. Dalam banyak aplikasi Unix, cap masa sering diwakili sebagai integer. Contohnya, dalam PHP dan Java, gunakan fungsi time() untuk mendapatkan cap masa UNIX semasa.
MySQL menyokong format cap masa yang kompleks, seperti TAHUN, BULAN, HARI, dll. Cap masa ini boleh digunakan dalam kombinasi dengan tarikh dan masa. MySQL menyokong cap masa dalam format cap masa UNIX, yang merupakan format yang sama seperti cap masa dalam Unix.
2. Tukar cap waktu UNIX kepada cap masa MySQL
Penukaran antara cap masa UNIX dan cap masa MySQL ialah masalah biasa. Dalam pangkalan data MySQL, format cap masa ialah "YYYY-MM-DD HH:MI:SS", manakala dalam Unix format cap masa ialah integer dalam saat. Mari kita lihat cara menukar cap masa UNIX kepada cap masa MySQL.
Kaedah 1: Gunakan fungsi FROM_UNIXTIME()
MySQL menyediakan fungsi yang dipanggil FROM_UNIXTIME(), yang boleh menukar cap masa UNIX kepada cap masa MySQL. Fungsi ini menerima parameter integer, mewakili bilangan saat sejak "1970-01-01 00:00:00" (waktu UTC).
Sebagai contoh, jika kita ingin menukar cap waktu Unix 1587211731 kepada cap waktu MySQL, kita boleh menggunakan pernyataan berikut:
SELECT FROM_UNIXTIME(1587211731,'%Y-%m-%d %H:%i:%s');
Hasilnya ialah:
2020-04-18 20:35:31
Jika kita mahu untuk menukar masa semasa Untuk menukar kepada cap waktu MySQL, anda boleh menggunakan pernyataan berikut:
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y-%m-%d %H:%i:%s');
Pernyataan ini akan mendapat masa semasa dan menukarkannya kepada cap waktu MySQL.
Kaedah 2: Gunakan fungsi DATE_FORMAT()
Kaedah lain ialah menggunakan fungsi DATE_FORMAT(). Fungsi ini boleh memformat tarikh ke dalam mana-mana format yang disokong oleh MySQL, termasuk cap waktu.
Berikut ialah contoh pelaksanaan kaedah ini:
SELECT DATE_FORMAT(FROM_UNIXTIME(1587211731),'%Y-%m-%d %H:%i:%s');
Hasilnya adalah sama seperti hasil di atas:
2020-04-18 20:35:31
3 Tukar cap waktu MySQL kepada cap waktu UNIX
Cap Masa MySQL boleh ditukar kepada format cap masa UNIX menggunakan fungsi UNIX_TIMESTAMP(). Fungsi ini menerima parameter tarikh atau masa dan mengembalikan bilangan saat sejak "1970-01-01 00:00:00" (waktu UTC).
Sebagai contoh, jika kita ingin menukar cap waktu MySQL 18-04-2020 20:35:31 kepada cap masa UNIX, kita boleh menggunakan pernyataan berikut:
SELECT UNIX_TIMESTAMP('2020-04-18 20:35:31');
Hasilnya ialah :
1587211731
Jika kita ingin menukar masa semasa kepada cap waktu UNIX, kita boleh menggunakan pernyataan berikut:
SELECT UNIX_TIMESTAMP(NOW());
Penyataan ini akan mendapat masa semasa dan menukarkannya kepada cap masa UNIX.
4. Ringkasan
Artikel ini memperkenalkan kaedah penukaran cap waktu MySQL. Jika anda ingin menukar cap masa UNIX kepada cap masa MySQL, gunakan fungsi FROM_UNIXTIME() atau fungsi DATE_FORMAT(). Jika anda ingin menukar cap masa MySQL kepada cap masa UNIX, anda boleh menggunakan fungsi UNIX_TIMESTAMP(). Apabila menggunakan fungsi ini, pastikan anda memberikan rentetan format yang betul.
Atas ialah kandungan terperinci penukaran cap waktu mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!