Another way of determining the user's timezone (if you do have users that are crossing timezones to pick up their orders) is to have their submission include their current time as well as their requested pickup time. Comparing their current time with yours (rather, your server's configured zone) will give the timezone difference (roughly - their clock may be wrong).
Or, as ixalmida suggests, do everything in UTC, including the time and date as submitted by the form (JavaScript has methods for getting that, and Date.getTime() is also timezone-independent, being effectively the same thing as a Unix timestamp).
Needless to say, a form that makes the check itself ("is the requested time more than an hour in the future?") is a nice user convenience.