表中某時間欄位有一些格式:
November 11, 2016 31 Oct 2016 2016-01-11 07 Nov 2016
能否按時間排序?
回複內容:
表中某時間欄位有一些格式:
November 11, 2016 31 Oct 2016 2016-01-11 07 Nov 2016
能否按時間排序?
python3
>>> 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')]>>>
$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;});
php
composer install Carbon
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; } }}
手機打的……如果有錯,見諒……