I wonder if this could be improved by just using the standard C library strftime(3) instead of going through sqlite?
strptime_l took 58.803 seconds
NSDateFormatter took 107.570 seconds
sqlite3 took 7.022 seconds
And with MishraAnurag's suggestion of using timegm instead of mktime:
strptime_l took 21.656 seconds
NSDateFormatter took 108.163 seconds
sqlite3 took 7.096 seconds