Heim > Backend-Entwicklung > PHP-Tutorial > Fragen nach Zeit sortiert?

Fragen nach Zeit sortiert?

WBOY
Freigeben: 2023-03-01 22:08:01
Original
1192 Leute haben es durchsucht

Ein Zeitfeld in der Tabelle hat einige Formate:

<code>            November 11, 2016
            31 Oct 2016
            2016-01-11
            07 Nov 2016
            </code>
Nach dem Login kopieren
Nach dem Login kopieren

Kann ich nach Zeit sortieren?

Antwortinhalt:

Ein Zeitfeld in der Tabelle hat einige Formate:

<code>            November 11, 2016
            31 Oct 2016
            2016-01-11
            07 Nov 2016
            </code>
Nach dem Login kopieren
Nach dem Login kopieren

Kann ich nach Zeit sortieren?

python3

<code class="python">>>> import time
>>> t=[('November 11, 2016','%B %d, %Y'),
       ('31 Oct 2016','%d %b %Y'),
       ('2016-01-11','%Y-%m-%d'),
       ('07 Nov 2016','%d %b %Y'),]
>>> t.sort(key=lambda d:time.mktime(time.strptime(d[0],d[1])))
>>> from pprint import pprint as pp
>>> pp(t)
[('2016-01-11', '%Y-%m-%d'),
 ('31 Oct 2016', '%d %b %Y'),
 ('07 Nov 2016', '%d %b %Y'),
 ('November 11, 2016', '%B %d, %Y')]
>>> </code>
Nach dem Login kopieren

<code>$date = [
    'November 11, 2016',
    '31 Oct 2016',
    '2016-01-11',
    '07 Nov 2016'
];

usort($date, function($a, $b){
    $a = strtotime($a);
    $b = strtotime($b);
    if ($a == $b) {
        return 0;
    }
    return ($a > $b) ? 1 : -1;
});</code>
Nach dem Login kopieren

php

composer install Carbon

<code class="php">use Carbon\Carbon;

$date = [
    new Carbon('November 11, 2016', 'Asia/Shanghai'),
    new Carbon('31 Oct 2016', 'Asia/Shanghai'),
    new Carbon('2016-01-11', 'Asia/Shanghai'),
    new Carbon('07 Nov 2016', 'Asia/Shanghai'),
];

for ($i = 0; $i < count($date); $i++) {
    for ($j = 0; $j < $i; $j++) {
        if ($date[$j]->lt($date[$i]) {
            $tmp = $date[$j];
            $date[$j] = $date[$i];
            $date[$i] = $tmp;
        }
    }
}</code>
Nach dem Login kopieren

Mit dem Mobiltelefon angerufen... Wenn es einen Fehler gibt, verzeihen Sie mir bitte...

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage