Time.deltaTime question

I have a script that adds stamina every 15 seconds. It does it multiple times for each second because update runs more than once per second. The problem is there is no guarantee that update will run at the exact moment that timeTillNextTick is at 45,30,or 15. How can I get around that?

using UnityEngine;
using System.Collections;

public class PlayerNeeds : MonoBehaviour {
	
	public float playerHealth = 100;
	public float playerStamina = 200;
	public float playerThirst = 20;
	public float playerHunger = 50;
	public float playerShit = 18;
	public float playerSleep = 15;
	public float secondsTillNextTick = 60;//each tick is 60 seconds.

	void Start () {
	
	}

	void Update () {

		secondsTillNextTick -= Time.deltaTime;

		if(playerStamina > 200) //make sure stamina doesn't go above 200
		{
			playerStamina = 200;
		}

		if (secondsTillNextTick >= 44 && secondsTillNextTick <= 45) 
		{
			playerStamina += 10;
		}

		if (secondsTillNextTick >= 29 && secondsTillNextTick <= 30) 
		{
			playerStamina += 10;
		}

		if (secondsTillNextTick >= 14 && secondsTillNextTick <= 15) 
		{
			playerStamina += 10;
		}

		if(secondsTillNextTick <= 0)
		{
			secondsTillNextTick = 60;// reset tick counter
			playerThirst -= 1;//subtract thirst on tick
			playerHunger -= 1;//subtract hunger on tick
			playerShit -= 1;//subtract shit on tick
			playerSleep -=1;// subtract sleep on tick

			if(playerThirst <= 0)// hurt player if thirst is 0 on tick
			{
				playerHealth -= 5;
				playerThirst = 0;
			}

			if(playerHunger <= 0) // Hurt player if hunger is 0 on tick
			{
				playerHealth -= 5;
				playerHunger = 0;
			}

			if(playerSleep <= 0) //Hurt player if sleep is 0 on tick
			{
				playerHealth -= 5;
				playerSleep = 0;
			}
		}
	}
}

public float timeToStamina = 15; // how long before adding stamina
private float staminaTimer = 0; // timer
private float staminaIncrementer = 1; // incrementer

void Update () {
    staminaTimer += Time.deltaTime;
    if (staminaTimer >= (timeToStamina * staminaIncrementer)) {
        staminaIncrementer++;
        playerStamina += 10; // or whatever you want here.

    } 
}

or even simpler

public float timeToStamina = 15; // how long before adding stamina
private float staminaTimer = 0;  // timer
    
void Update () {
    staminaTimer += Time.deltaTime;
    if (staminaTimer >= timeToStamina) {
        staminaTimer = 0; // reset
        playerStamina += 10; // or whatever you want here.
    } 
}