How can i change numbers by time

I have day and night circle script i added it somethings for example _fogColorController it changes color of fog but it happen suddenly so i want to change color slowly what should i add to the argb numbers (like this intensity changes)? thank u so much

  if (controlIntensity && sunLight && (currentTime >= 18.0f || currentTime <= 5.5f))
            {
    			sunLight.intensity = 
Mathf.MoveTowards(sunLight.intensity,0.0f,Time.deltaTime*daySpeedMultiplier*10.0f); //Gece
                _fogColorController._fogColorWater = new Color(0.04f, 0.04f, 0.1f, 0.5f);
            }
            else if (controlIntensity && sunLight)
            {
    			sunLight.intensity = Mathf.MoveTowards(sunLight.intensity,1.0f,Time.deltaTime*daySpeedMultiplier*10.0f); //Gündüz
                _fogColorController._fogColorWater = new Color(0.2f, 0.65f, 0.75f, 0.5f);
            }

Create variables called float red,green, blue = 0.0f; //or whatever starting values you need. Change these values as needed in update(). Something like: if red is not equal to the final target value then red+=5 * changeSpeed; . Then _fogColorController._fogColorWater = new Color(red,green, blue,0.5f);

Public float currentTime;

Void Update ()
{
currentTime += Time.deltaTime; // currentTime plus or minus Time.deltaTime
}

i want to change my color slowly like intensity changes