For timers during runtime, you can use the timer behavior, or an instance variable to keep track of time.
For keeping track of time when not playing, the unixtime expression will give you a number relative to a fixed point in history.
You may want to familiarize yourself with "states". Using instance variables, an object can have different states depending on different conditions.
If you place an object, it will be in the growing state, can't be interacted with. After X amount of time, it will be in a ready state, which you can harvest and or do whatever else you want with it.