code: def update_from_item(self, item):
          
          if not self.is_time_module:
              # correct the output
              # Restore the name/instance.
              item["name"] = self.name
              item["instance"] = self.instance
  
              # change color good/bad is set specifically for module
              if "color" in item and item["color"] in self.color_map:
                  item["color"] = self.color_map[item["color"]]
  
              # have we updated?
              is_updated = self.item != item
              self.item = item
          else:
              # If no timezone or a minute has passed update timezone
              t = time()
              if self.time_zone_check_due < t:
                  # If we are late for our timezone update then schedule the next
                  # update to happen when we next get new data from i3status
                  interval = self.i3status.update_interval
                  if not self.set_time_zone(item):
                      # we had an issue with an invalid time zone probably due to
                      # suspending.  re check the time zone when we next can.
                      self.time_zone_check_due = 0
                  elif self.time_zone_check_due and (
                      t - self.time_zone_check_due > 5 + interval
                  ):
                      self.time_zone_check_due = 0
                  else:
                      # Check again in 30 mins.  We do this in case the timezone
                      # used has switched to/from summer time
                      self.time_zone_check_due = ((int(t) // 1800) * 1800) + 1800
                  if not self.time_started:
                      self.time_started = True
                      self.i3status.py3_wrapper.timeout_queue_add(self)
              is_updated = False
              # update time to be shown
          return is_updated
docs: Update from i3status output. returns if item has changed.