The approve time showed was 8 hours more than the real time.
Checking database turned out that it had the wrong data(+8 hours).
After checking every timezone related settings were correct,
I found that it do twice idate() in setApproved().
Since we have idate() in $sql, we don't need the idate()
at the line 1249.