It appears that there's no universal way to tell
cron to schedule jobs in a specified per-user (or per-job) time zone.
But it shouldn't be hard to work around it. For example, if you want to run a job every day at 10:30am PST, you could write a wrapper and invoke it at 30 minutes after each hour:
30 * * * * wrapper ...
The wrapper could then set its own time zone internally and then execute the specified command only if the current time is (close to) 10:30am. It would have to allow for a little bit of skew, since it's not going to execute at exactly 30 minutes after the hour.
If it's sufficiently useful, I might write such a wrapper myself. I'm thinking of a syntax like:
cron-wrapper -tz [zone] -time [time] command args...
Or, more simply, it might just specify the time as UTC and omit the timezone specification (which avoids having to decide on a syntax for specifying time zones).
To be clear, is your requirement, for example, to run a job at a specified CST (US Central Standard Time) time even if you're currently on CDT (Central Daylight Time), so that the job is always executed every 24 hours? So you want it to run at, say, 10:30am half the year and 11:30am the other half of the year? (Most people would want a job to run at a consistent wall clock time every day -- which is not to suggest that you should, but that's the usage that