Timer not working

I’m working on a level timer which i KNOW HOW TO MAKE but for whatever reason this specific one isn’t working no matter what.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TimerBehavior : MonoBehaviour {

    public bool RealTime = true;
    public Text display;

    int minutes, seconds, milli;

    string TimerDisplay( int a, int b, int c)
    {
        return string.Format("{00:00}'{00:00}\"{00:00}", a, b, c);
    }

	// Use this for initialization
	void Start () {
        minutes = 0;
        seconds = 0;
        milli = 0;
        
    }
	
	// Update is called once per frame
	void Update () {
        //milli++;
        StartCoroutine("GetMilliseconds");
        if (milli >= 100)
        {
            seconds++;
            milli = 0;
        }
        if (seconds >= 60)
        {
            minutes++;
            seconds = 0;
        }

        display.text = TimerDisplay(minutes, seconds, milli);
	}

    public IEnumerator GetMilliseconds ()
    {
            yield return new WaitForSeconds(0.01f);
            milli++;
    }
}

It was originally a FixedUpdate before I saw it wasn’t working, and upon further testing it’s just not working at all. I even had milli increasing in Update with nothing happening.

EDIT: upon debugging I can see that the timer is working fine but the display isn’t.

@GarryGuertena, Hello there, it seems that your string.Format it’s wrong, this is the way to do that:

string.Format ("{0:00}: {1:00}:{2:00}", valueA, valueB, valueC)

The fisrt number from each { } correspond to the index from the method properties, in this case the values.

Unfortunately this method does not throw any error in the console, that it just pass by.