Если вы хотите использовать собственное решение, поэтому я могу предложить этот
function compare($a, $b)
{
$alphabet = 'aąbcćdeęfghijklłmnnoóqprstuvwxyzźż'; // i used polish letters
$a = mb_strtolower($a);
$b = mb_strtolower($b);
for ($i = 0; $i < mb_strlen($a); $i++) {
if (mb_substr($a, $i, 1) == mb_substr($b, $i, 1)) {
continue;
}
if ($i > mb_strlen($b)) {
return 1;
}
if (mb_strpos($alphabet, mb_substr($a, $i, 1)) > mb_strpos($alphabet, mb_substr($b, $i, 1))) {
return 1;
} else {
return -1;
}
}
}
usort($needed_array, 'compare');
Не уверен, это лучшее решение, но оно работает для меня =)
Аргумент к unix_timestamp
должен указывать формат ввода строки, который равен E MMM dd HH:mm:ss yyyy
.
После этого аргумент к from_unixtime
должен указать выходной формат, который в данном случае равен yyyyMMdd
.
Вы должны использовать
select from_unixtime(unix_timestamp('Sun Jan 28 01:00:22 2018','E MMM dd HH:mm:ss yyyy')
,'yyyyMMdd'
)