Countdown Through a Label?

Is it possible to have a label and have it countdown in seconds and then have it restart that timer after that time was used up? Im using this for a pay day type thing and this is the last thing i need in it. NOTE: i use c# and i plan on adding this to a current script i already have. If it is please respond and all help is appreciated.

Another silly way of doing it. Probably not the best conversion to string method, but it works :)

public class CountDown : MonoBehaviour 
{
public float t = 180.0f; // Seconds

void Update()
{
    t -= Time.deltaTime;

    if (t < 0.0f)
        t = 180.0f;
}

private string ConvertTimeToString()
{
    int hours = Mathf.FloorToInt(t / 3600);
    int minutes = Mathf.FloorToInt((t % 3600) / 60);
    int seconds = Mathf.FloorToInt(t) % 60;

    return hours.ToString("00") + ":" + minutes.ToString("00") + ":" + seconds.ToString("00"));
}

void OnGUI()
{
    GUI.Label(new Rect(32.0f, 32.0f, 128.0f, 32.0f), ConvertTimeToString());
}
}