Bagaimana cara mengubah format berikut menjadi unix timestamp?
Apr 15 2012 12:00AM
Format yang saya dapatkan dari DB tampaknya ada AM
di bagian akhir. Saya sudah mencoba menggunakan yang berikut ini tetapi tidak berhasil:
CONVERT(DATETIME, Sales.SalesDate, 103) AS DTSALESDATE,
CONVERT(TIMESTAMP, Sales.SalesDate, 103) AS TSSALESDATE
where Sales.SalesDate value is Apr 15 2012 12:00AM
mysql
datetime
timestamp
unix-timestamp
redcoder
sumber
sumber
Jawaban:
Berikut adalah contoh cara mengonversi
DATETIME
ke stempel waktu UNIX :SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))
Berikut adalah contoh cara mengubah format tanggal :
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p')
Dokumentasi:
UNIX_TIMESTAMP
,FROM_UNIXTIME
sumber
select * from (SELECT order_increment_id, FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE(order_date, '%d %M %Y %h:%i:%s %p')),'%Y-%m-%d') as order_date, email_sent FROM `packingslip_header` where email_sent=0) t where order_date >= '2019-11-13' ORDER BY order_increment_id ASC
Ini adalah tanggal yang saya miliki31 Oct 2017 4:16:49 pm
sehingga saya perlu menggunakannya%d %M %Y %h:%i:%s %p
untukSTR_TO_DATE
Anda pasti harus menggunakan keduanya
STR_TO_DATE
untuk mengonversi tanggal Anda ke format tanggal standar MySQL, danUNIX_TIMESTAMP
untuk mendapatkan stempel waktu darinya.Mengingat format tanggal Anda, kira-kira seperti
Akan memberi Anda stempel waktu yang valid. Lihat
STR_TO_DATE
dokumentasi untuk mendapatkan informasi lebih lanjut tentang format string.sumber
Untuk tanggal saat ini, cukup gunakan
UNIX_TIMESTAMP()
dalam kueri MySQL Anda.sumber
Dari http://www.epochconverter.com/
SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE()) My bad, SELECT unix_timestamp(time) Time format: YYYY-MM-DD HH:MM:SS or YYMMDD or YYYYMMDD. More on using timestamps with MySQL: http://www.epochconverter.com/programming/mysql-from-unixtime.php
sumber