in reply to Getting a specific time zone
Have you tried Date::Calc? Knowing that Hawaii is 10 hours behind, you can use the function Add_Delta_YMDHMS() to subtract those hours from your gmtime()-result.