I'd say don't worry about matching it up. Just do something like this
1) Player "plants" grapes and sends message about planting to server.
2) Server sets timestamp for when grapes should be ready and sends that timestamp back to client
3) Client calculates time left till ready based on time stamp.
4) Player "collects" grapes by clicking grapes initiating a message from client to server to collect grapes.
5) Server compares message received time to grapes ready timestamp.
6) If time past time stamp send "OK- Qnty picked" message to client else send "Too early" timestamp to client.
Using this method, the lag will occur on the front end, between when a player chooses to plant to grapes and when they actually start growing... yet the count down will still
be displayed correctly on the client. Then, there may be a bit of lag between Collect grapes, got grapes... but a savy user, recognizing they have lag could click a second early and still collect properly...
Basically, the client only sends Plz plant, and Plz collect... let the server decide if it is ready or not.. and since you are sending the pre defined ending time rather than the time left you don't have to worry about them being out of sync b/c it isn't a time sensitive value any more.