Maison > Article > développement back-end > 按时间排序的问题?
表中某时间字段有一些格式:
<code> November 11, 2016 31 Oct 2016 2016-01-11 07 Nov 2016 </code>
能否按时间排序?
表中某时间字段有一些格式:
<code> November 11, 2016 31 Oct 2016 2016-01-11 07 Nov 2016 </code>
能否按时间排序?
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 lt($date[$i]) { $tmp = $date[$j]; $date[$j] = $date[$i]; $date[$i] = $tmp; } } }</code>
手机打的……如果有错,见谅……