code: func InferSystemTZ() string {
  	// consult $TZ to find the time zone to use.
  	// no $TZ means use the system default /etc/localtime.
  	// $TZ="" means use UTC.
  	// $TZ="foo" means use /usr/share/zoneinfo/foo.
  	tz, ok := syscall.Getenv("TZ")
  	switch {
  	case !ok:
  		path, err1 := filepath.EvalSymlinks("/etc/localtime")
  		if err1 == nil {
  			name, err2 := inferTZNameFromFileName(path)
  			if err2 == nil {
  				return name
  			}
  			logutil.Logger(context.Background()).Error("infer timezone failed", zap.Error(err2))
  		}
  		logutil.Logger(context.Background()).Error("locate timezone files failed", zap.Error(err1))
  	case tz != "" && tz != "UTC":
  		for _, source := range zoneSources {
  			if _, err := os.Stat(source + tz); err == nil {
  				return tz
  			}
  		}
  	}
  	return "UTC"
  }
docs: // InferSystemTZ reads system timezone from `TZ`, the path of the soft link of `/etc/localtime`. If both of them are failed, system timezone will be set to `UTC`.
  // It is exported because we need to use it during bootstap stage. And it should be only used at that stage.