How do I Destory something if I have been there a certain time?

Hi I so I want to be able to destory the grass with my jackhammer if i have been holding down q there for 1 second, I have a script but what it does is just destory it after 1 second has passed, regardless if I am there or not. How do I make it only happen like for say Minecraft mining?

Heres my shitty code;
using UnityEngine;
using System.Collections;

public class DestoryGrassJackhammer : MonoBehaviour {
	public int DestoryTime;

	// Use this for initialization
	void Start () {
	}

	// Update is called once per frame
	void Update () {

	}
	void OnTriggerEnter2D(Collider2D other){
		if (other.tag == "Grass") {
			Destroy (other.gameObject, DestoryTime);
				
	}
}
}

Add an OnTriggerStay2D and add a counter class variable, then change the trigger function to something like this:

     private float _destroyCounter;
     public int DestoryTime;
	 
	 void OnTriggerEnter2D(Collider2D other)
	 {
		if (other.tag == "Grass") 
		{
			_destroyCounter = 0.0f;
		}
	 }
	 
	 void OnTriggerStay2D(Collider2D other)
	 {
         if (other.tag == "Grass" && Input.GetKey(KeyCode.Q)) 
		 {
			 _destroyCounter += Time.deltaTime;
			 if (_destroyCounter >= DestoryTime)
			 {
				 Destroy (other.gameObject);
			 }
		 }                 
     }

I have not tested this code, but it should give you an idea how to structure the logic. When the trigger starts the counter is reset and if the trigger is maintained and the Q key is being held the counter is increased. The destroying occurs only when the specified DestoryTime has passed.

Good luck!