IOS對日期進行排序

2021-07-03 07:56:44 字數 1505 閱讀 1083

nsmutablearray *array = [[nsmutablearray alloc] initwithobjects:@"2019/03/01/",@"2013/03/02",@"2013/03/07",@"2014/03/01/", [nsnull null], nil];

array = (nsmutablearray *)[array sortedarrayusingcomparator:^nscomparisonresult(id obj1, id obj2)

if (obj2 == [nsnull null])

nsdate *date1 = [formatter datefromstring:obj1];

nsdate *date2 = [formatter datefromstring:obj2];

nscomparisonresult result = [date1 compare:date2];

return result == nsorderedascending;

}];for (int i = 0; i < [array count]; i++)

在專案裡需要對資料進行排序,這裡模擬乙個陣列,由於專案中返回的json的key對應的value為空,所以排序的時候需要判斷obj1和obj2是否為空,還有公升序和降序的問題根據

return result == nsorderedascending;  公升序

return result == nsordereddescending; 降序

公升序結果:

2015-06-16 17:16:14.930 testh5[15888:669365] 2019/03/01/

2015-06-16 17:16:14.930 testh5[15888:669365] 2014/03/01/

2015-06-16 17:16:14.931 testh5[15888:669365] 2013/03/07

2015-06-16 17:16:14.931 testh5[15888:669365] 2013/03/02

2015-06-16 17:16:14.931 testh5[15888:669365]

降序結果:

2015-06-16 17:17:21.692 testh5[15946:671080] 2013/03/02

2015-06-16 17:17:21.692 testh5[15946:671080] 2013/03/07

2015-06-16 17:17:21.692 testh5[15946:671080] 2014/03/01/

2015-06-16 17:17:21.692 testh5[15946:671080] 2019/03/01/

2015-06-16 17:17:21.692 testh5[15946:671080]

Android中對日期進行排序

最近在專案中需要將讀取的資料按照時間的降序進行排序。具體的步驟如下 1.讀取資料,存入list中 2.取出資料中的時間戳,由string轉換成date 3.使用氣泡排序對list中元素按照date進行排序 具體 如下 將list按照時間倒序排列 suppresslint dateformat pri...

對日期型別進行格式化

h 24 小時制的小時,被格式化為必要時帶前導零的兩位數,即 00 23。i 12 小時制的小時,被格式化為必要時帶前導零的兩位數,即 01 12。k 24 小時制的小時,即 0 23。l 12 小時制的小時,即 1 12。m 小時中的分鐘,被格式化為必要時帶前導零的兩位數,即 00 59。s 分鐘...

資料庫對日期進行比較

資料庫對日期進行比較 原則是先把兩個日期的格式統一一下,然後把日期字串轉化為日期,最後進行比較 轉化為日期的兩個時間可以做加減運算得出的結果為天數.結果 24則得出的是小時數 結果 24 60得出的是分鐘數 結果 24 60 60得出的是秒數 ceil to date to char sysdate...