I am using a local script. It is a TextLabel inside a ScreenGUI.
player = game.Players.LocalPlayer script.Parent.TextLabel.Text = (player.Backpack.Time.Value)
Why doesn't it change with the players time?
You only made it change once when the game starts. Use the changed event to make it change whenever the time changes:
player = game.Players.LocalPlayer player.Backpack.Time.Value.Changed:Connect(function() script.Parent.TextLabel.Text = (player.Backpack.Time.Value) end)