如何以['2020-05-27 15:26:57','2020-05-22 16:40:58']的格式将日期和时间从最旧的到最新的?

时间:2020-06-18 16:19:19

标签: python sorting datetime bazaar

在bzr存储库中,我可以使用

从不同的修订提交中返回时间戳。

branch.repository.get_revision(revision_id).timestamp

获得时间戳记后,我可以使用:datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')获得2020-05-27 15:26:57的格式。

我将把其中一些存储到列表中,然后从那里将它们从最早的日期和时间到最新的日期和时间进行排序。我看着这里已经存在的其他问题,但是似乎没有一个答案很容易地转化为这种情况。

2 个答案:

答案 0 :(得分:1)

由于日期和时间已经从影响力最大到影响力最小的排序,因此只需对列表使用内置的sort()方法即可。

list = [timestamp_1, timestamp_2, ...]
list.sort()  # now its sorted

这行得通,因为您所有的日期/时间都具有相同的格式,依此类推。

要使其更快,您还可以省略转换为字符串的过程,而仅使用unix-timestamp进行排序。以后,您始终可以将convert转换为带有方法的字符串,以使其可读。

答案 1 :(得分:1)

呼叫列表中的import Data.List import Control.Parallel import Data.Time.Clock.POSIX randomList :: Int -> Int -> [Int] randomList seed n = take n $ tail (iterate lcg seed) where lcg x = (a * x + c) `rem` m a = 1664525 c = 1013904223 m = 2^32 main :: IO () main = do t1 <- getPOSIXTime let n = 50000000 a = sum $ randomList 1 n b = sum $ randomList 2 n c = sum $ randomList 3 n d = sum $ randomList 4 n e = sum $ randomList 5 n f = sum $ randomList 6 n g = sum $ randomList 7 n h = sum $ randomList 8 n print $ a `par` b `par` c `par` d `par` e `par` f `par` g `par` h `par` (a+b+c+d+e+f+g+h) t2 <- getPOSIXTime putStrLn $ "SORT TIME: " ++ show (t2 - t1) ++ "\n" 应该可以解决问题:

sorted()

我们还可以通过以下方式使用lst = ['2020-05-27 15:26:57','2020-06-27 15:26:57','2020-03-27 15:26:57'] sorted(lst) Output: ['2020-03-27 15:26:57', '2020-05-27 15:26:57', '2020-06-27 15:26:57'] 来达到目的:

lst.sort()