iCloud and iPhone Calendar have different timezones
Even though the timezone was set correctly on a Mac, an iPhone and in iCloud settings, syncing across devices has always been off by a couple of hours for me.
Turns out, the time zone, though specified, was disabled for Calendar.
To fix this, click the gear icon in the upper right corner and choose Preferences:
Go to Advanced and make sure the first checkbox is ticked.
Click Save and enjoy your timezone.
When you log in to iCloud you should be able to select Singapore's timezone.
- Click your name in top right corner
- Click Time Zone to open Time Zone modal window
- Try to aim for Singapore as showed in the pic below. It doesn't have to be precise. It's good enough to hit timezone and any city in it.
- If you didn't manage to click Singapore precisely and other city got selected just click the name of the city that appears on the button below the map and select Singapore from the dropdown.
Good luck as it's not that easy to click your timezone! Using the Zoom feature (Preferences -> Accessiblity) might help.