Whereas the question asks how to sort by date and time, here you can answer:
sorted(dct.items(), key=lambda p: p[1], reverse=True) => [('raspberry', datetime.datetime(2013, 1, 9, 0, 0)), ('apple', datetime.datetime(2012, 12, 20, 0, 0)), ('orange', datetime.datetime(2012, 2, 4, 0, 0))]
If you are only interested in keys:
[k for k, v in sorted(dct.items(), key=lambda p: p[1], reverse=True)] => ['raspberry', 'apple', 'orange']
source share