Czy istnieje sposób przekonwertowania łańcucha znaków na znacznik czasu UNIX w MySQL?Łańcuch do znacznika czasu w mysql
Na przykład mam ciąg 2011-12-21 02:20pm
, który musi być w formacie znacznika czasu unix.
Czy istnieje sposób przekonwertowania łańcucha znaków na znacznik czasu UNIX w MySQL?Łańcuch do znacznika czasu w mysql
Na przykład mam ciąg 2011-12-21 02:20pm
, który musi być w formacie znacznika czasu unix.
UNIX_TIMESTAMP()
załatwia sprawę:
SELECT UNIX_TIMESTAMP('2011-12-21 14:20:00');
Jednak funkcja UNIX_TIMESTAMP()
zajmuje tylko standardowe MySQL sformatowaną datę. Jeśli chcesz użyć notacji AM/PM, trzeba będzie użyć STR_TO_DATE
pierwszy tak:
SELECT UNIX_TIMESTAMP(
STR_TO_DATE('2011-12-21 02:20pm', '%Y-%m-%d %h:%i%p')
);
Choć @ a'r już podano poprawną odpowiedź, wciąż coś chciałbym dodać tutaj jest to, że dwie funkcje: STR_TO_DATE() funkcja, ciąg "ciąg daty" i ciąg "format daty" powinny mieć pasujące położenie "-" i ":".
na przykład, po 4 zapytania powrotu EXACT sam wynik 2014-05-28 11:30:10
SELECT STR_TO_DATE('2014-05-28 11:30:10','%Y-%m-%d %H:%i:%s');
SELECT STR_TO_DATE('20140528 11:30:10','%Y%m%d %H:%i:%s');
SELECT STR_TO_DATE('2014-05-28 113010','%Y-%m-%d %H%i%s') ;
SELECT STR_TO_DATE('20140528 113010','%Y%m%d %H%i%s');
Uwaga: z 2 params do STR_TO_DATE() funkcję w każdym zapytanie zawiera pasujące miejsce docelowe dla "-" i ":"
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp – cristian