Yea, Lua’s date/time features are not the best in the world, but luckily it’s easy to parse.
local dateString = "2012-09-21T00:00:00"
local dt = string.gmatch(dateString, "(%d)\-(%d)\-(%d)T(%d):(%d):(%d)[\+\-](%d)")
at that point dt[1] = the year, dt[2] = the month, etc. If you want to have this as a table that can be fed back to os.time(), you would just want to make a new table
local t = {}
t.year = dt[1]
t.month = dt[2]
t.day = dt[3]
t.hour = dt[4]
t.min = dt[5]
t.sec = dt[6]
[import]uid: 19626 topic_id: 30454 reply_id: 122019[/import]