Heim  >  Artikel  >  Backend-Entwicklung  >  Fragen nach Zeit sortiert?

Fragen nach Zeit sortiert?

WBOY
WBOYOriginal
2016-12-01 00:56:331134Durchsuche

Ein Zeitfeld in der Tabelle hat einige Formate:

<code>            November 11, 2016
            31 Oct 2016
            2016-01-11
            07 Nov 2016
            </code>

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>

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>

<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>

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>

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

Stellungnahme:
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