code: def acquisition_time(self):
          
          # Get time channels indices
          time_channel_idx = [idx
                              for idx, channel in enumerate(self.channels)
                              if channel.lower() == 'time']
          if len(time_channel_idx) > 1:
              raise KeyError("more than one time channel in data")
          # Check if the time channel is available
          elif len(time_channel_idx) == 1:
              # Use the event list
              time_channel = self.channels[time_channel_idx[0]]
              return (self[-1, time_channel] - self[0, time_channel]) \
                  * self.time_step
          elif (self._acquisition_start_time is not None and
                  self._acquisition_end_time is not None):
              # Use start_time and end_time:
              dt = (self._acquisition_end_time - self._acquisition_start_time)
              return dt.total_seconds()
          else:
              return None
docs: Acquisition time, in seconds.
  
          The acquisition time is calculated using the 'time' channel by
          default (channel name is case independent). If the 'time' channel
          is not available, the acquisition_start_time and
          acquisition_end_time, extracted from the $BTIM and $ETIM keyword
          parameters will be used. If these are not found, None will be
          returned.