Thanks, Malia.
I actually tried to put him to bed earlier last night at 7:30 pm since he did not nap much during the day, and looked crunky around 6:00 pm. But it seemed that he thought it was a nap so fighted so much (he normally fall into sleep very fast at bedtime). He ended up sleeping from 9:30pm, and woke up at 7:40 am this morning.
When I normally put him to bed at 8:30pm, he woke up at 11:30-12:00ish, then 2:30-3:00ish, and then 5:00ish. Yesterday, he woke up at 1:30am, then 5:00 am. I was also told by my friends about the early bedtime at 7:00ish, but my worry is, as you can see, he woke up at regular intervals (normally three times), if I put him to bed at 7:30 pm, he may wake up at 10:30ish, then 1:30ish, then 4:00ish, and then finish his night sleep. So does that early bedtime only suits those who can sleep through?