docstr: Generate datetime feature(s) for each record.
  :param features: list, states which feature(s) will be generated.
          The list should contain the features you want to generate.
          A table of all datatime features and their description is listed below.
  
  | "MINUTE": The minute of the time stamp.
  | "DAY": The day of the time stamp.
  | "DAYOFYEAR": The ordinal day of the year of the time stamp.
  | "HOUR": The hour of the time stamp.
  | "WEEKDAY": The day of the week of the time stamp, Monday=0, Sunday=6.
  | "WEEKOFYEAR": The ordinal week of the year of the time stamp.
  | "MONTH": The month of the time stamp.
  | "YEAR": The year of the time stamp.
  | "IS_AWAKE": Bool value indicating whether it belongs to awake hours for the time stamp,
  | True for hours between 6A.M. and 1A.M.
  | "IS_BUSY_HOURS": Bool value indicating whether it belongs to busy hours for the time
  | stamp, True for hours between 7A.M. and 10A.M. and hours between 4P.M. and 8P.M.
  | "IS_WEEKEND": Bool value indicating whether it belongs to weekends for the time stamp,
  | True for Saturdays and Sundays.
  
  :return: the xshards instance.
docstr_tok: ["Generate","datetime","feature","(","s",")","for","each","record",".",":","param","features",":","list",",","states","which","feature","(","s",")","will","be","generated",".","The","list","should","contain","the","features","you","want","to","generate",".","A","table","of","all","datatime","features","and","their","description","is","listed","below",".","|","``","MINUTE","''",":","The","minute","of","the","time","stamp",".","|","``","DAY","''",":","The","day","of","the","time","stamp",".","|","``","DAYOFYEAR","''",":","The","ordinal","day","of","the","year","of","the","time","stamp",".","|","``","HOUR","''",":","The","hour","of","the","time","stamp",".","|","``","WEEKDAY","''",":","The","day","of","the","week","of","the","time","stamp",",","Monday=0",",","Sunday=6",".","|","``","WEEKOFYEAR","''",":","The","ordinal","week","of","the","year","of","the","time","stamp",".","|","``","MONTH","''",":","The","month","of","the","time","stamp",".","|","``","YEAR","''",":","The","year","of","the","time","stamp",".","|","``","IS_AWAKE","''",":","Bool","value","indicating","whether","it","belongs","to","awake","hours","for","the","time","stamp",",","|","True","for","hours","between","6A.M",".","and","1A.M",".","|","``","IS_BUSY_HOURS","''",":","Bool","value","indicating","whether","it","belongs","to","busy","hours","for","the","time","|","stamp",",","True","for","hours","between","7A.M",".","and","10A.M",".","and","hours","between","4P.M",".","and","8P.M",".","|","``","IS_WEEKEND","''",":","Bool","value","indicating","whether","it","belongs","to","weekends","for","the","time","stamp",",","|","True","for","Saturdays","and","Sundays",".",":","return",":","the","xshards","instance","."]
code: def gen_dt_feature(self, features):
      """
      Generate datetime feature(s) for each record.
      :param features: list, states which feature(s) will be generated.
              The list should contain the features you want to generate.
              A table of all datatime features and their description is listed below.
  
      | "MINUTE": The minute of the time stamp.
      | "DAY": The day of the time stamp.
      | "DAYOFYEAR": The ordinal day of the year of the time stamp.
      | "HOUR": The hour of the time stamp.
      | "WEEKDAY": The day of the week of the time stamp, Monday=0, Sunday=6.
      | "WEEKOFYEAR": The ordinal week of the year of the time stamp.
      | "MONTH": The month of the time stamp.
      | "YEAR": The year of the time stamp.
      | "IS_AWAKE": Bool value indicating whether it belongs to awake hours for the time stamp,
      | True for hours between 6A.M. and 1A.M.
      | "IS_BUSY_HOURS": Bool value indicating whether it belongs to busy hours for the time
      | stamp, True for hours between 7A.M. and 10A.M. and hours between 4P.M. and 8P.M.
      | "IS_WEEKEND": Bool value indicating whether it belongs to weekends for the time stamp,
      | True for Saturdays and Sundays.
  
      :return: the xshards instance.
      """
      features_generated = []
      self.shards = self.shards.transform_shard(
          generate_dt_features,
          self.dt_col,
          features,
          None,
          None,
          features_generated,
      )
      features_generated = [
          fe
          for fe in features
          if fe not in self.target_col + [self.dt_col, self.id_col]
      ]
      self.feature_col += features_generated
      return self
  
imports: from bigdl.orca.data.shard import SparkXShards
  from bigdl.orca.learn.utils import dataframe_to_xshards_of_pandas_df
  from bigdl.chronos.data.utils.utils import _to_list, _check_type
  from bigdl.chronos.data.utils.roll import roll_timeseries_dataframe
  from bigdl.chronos.data.utils.impute import impute_timeseries_dataframe
  from bigdl.chronos.data.utils.split import split_timeseries_dataframe
  from bigdl.chronos.data.experimental.utils import add_row, transform_to_dict
  from bigdl.chronos.data.utils.scale import unscale_timeseries_numpy
  from bigdl.chronos.data.utils.feature import generate_dt_features
  import pandas
label_desc: Use image node_id 7 for calling the XShardsTSDataset obj's underlying member method code with example usage: obj.gen_dt_feature(features) and returns: self