This answer follows the layout of the CloudWatch console (at the time of writing).
The procedure should fix the time zone in all contexts other than Event Rule Schedule Expressions, where Amazon's documentation states that only UTC is possible.
PROCEDURE
Go to CloudWatch console at https://console.aws.amazon.com/cloudwatch/
Metrics
In the nagivation pane, choose Metrics.
Choose the custom menu and then choose UTC or Local timezone.
This will take effect in all contexts where metrics are displayed, e.g. in Dashboards, Lambda functions etc.
Logs
In the navigation pane, choose Logs.
For Log Groups, choose any log group to view some streams.
For Log Streams, choose any log stream name to view some log data.
Now to change the timezone, click on the blue date/time in the top-right corner. Choose UTC or Local timezone and then click Cancel.
Alarms history
Under Alarms, there are alarms, and on selecting an alarm, there is a History tab. These take their timezone from the Metrics above. There should be nothing to do in here.
Events
Under Events there are Schedule expressions for Rules. Unfortunately, as noted above, Amazon's documentation states that all scheduled events use UTC time zone.
References
Modify the Time Range or Time Zone Format for a Graph
Working With Log Groups and Log Streams
Schedule Expressions for Rules