Heim > Artikel > Backend-Entwicklung > Fragen nach Zeit sortiert?
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?
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...