code: def test_extract_features_from_different_timezones(
      df_datetime, df_datetime_transformed
  ):
      time_zones = [4, -1, 9, -7]
      tz_df = pd.DataFrame(
          {
              "time_obj": df_datetime["time_obj"].add(
                  ["+4", "-1", "+9", "-7"]
              )
          }
      )
      transformer = DatetimeFeatures(
          variables="time_obj", features_to_extract=["hour"], utc=True
      )
      X = transformer.fit_transform(tz_df)
  
      pd.testing.assert_frame_equal(
          X,
          df_datetime_transformed[["time_obj_hour"]].apply(
              lambda x: x.subtract(time_zones)
          ),
      )
      exp_err_msg = (
          "ValueError: variable(s) time_obj "
          "could not be converted to datetime. Try setting utc=True"
      )
      with pytest.raises(ValueError) as errinfo:
          assert DatetimeFeatures(
              variables="time_obj",
              features_to_extract=["hour"],
              utc=False,
          ).fit_transform(tz_df)
      assert str(errinfo.value) == exp_err_msg
  
imports: import numpy
  import pandas
  import pytest
  from sklearn.exceptions import NotFittedError
  from sklearn.pipeline import Pipeline
  from feature_engine.datetime import DatetimeFeatures
  from feature_engine.datetime._datetime_constants import FEATURES_DEFAULT, FEATURES_SUFFIXES, FEATURES_SUPPORTED
label_desc: Use image node_id 18 for calling a global function with example usage: test_extract_features_from_different_timezones(df_datetime, df_datetime_transformed) without return types