code: def fit(self, X, column):
      self._old_column = column
      self._min_datetime = np.min(X[column])
  
      values = X[column].dt.year
      if len(np.unique(values)) > 1:
          self._transforms += ["year"]
          new_column = column + "_Year"
          self._new_columns += [new_column]
  
      values = X[column].dt.month
      if len(np.unique(values)) > 1:
          self._transforms += ["month"]
          new_column = column + "_Month"
          self._new_columns += [new_column]
  
      values = X[column].dt.day
      if len(np.unique(values)) > 1:
          self._transforms += ["day"]
          new_column = column + "_Day"
          self._new_columns += [new_column]
  
      values = X[column].dt.weekday
      if len(np.unique(values)) > 1:
          self._transforms += ["weekday"]
          new_column = column + "_WeekDay"
          self._new_columns += [new_column]
  
      values = X[column].dt.dayofyear
      if len(np.unique(values)) > 1:
          self._transforms += ["dayofyear"]
          new_column = column + "_DayOfYear"
          self._new_columns += [new_column]
  
      values = X[column].dt.hour
      if len(np.unique(values)) > 1:
          self._transforms += ["hour"]
          new_column = column + "_Hour"
          self._new_columns += [new_column]
  
      values = (X[column] - self._min_datetime).dt.days
      if len(np.unique(values)) > 1:
          self._transforms += ["days_diff"]
          new_column = column + "_Days_Diff_To_Min"
          self._new_columns += [new_column]
  
file_path: mljar-supervised/supervised/preprocessing/datetime_transformer.py
imports: import datetime
  import json
  import numpy
  import pandas
label_desc: Use image node_id 2 for calling the DateTimeTransformer obj's underlying member method code with example usage: obj.fit(X, column) without return types