$ pip install tzlocal
from tzlocal import get_localzone
print(get_localzone())
Keep in mind that the start_date limit would become invalid if you select the action to fire the task right now.
Also note that the misfire_grace_time would be saved as None if it's set to 0, which means that the scheduler would reschedule the misfired task no matter how long it has been missed.
Otherwise, just set misfire_grace_time to 1 to ignore any misfired task missed by more than 1 second.
4-digit year, e.g. 2019; Defaults to * for any year
month (1-12); Defaults to * for any month; e.g. 1,6-8 equals to 1,6,7,8
day (1-31); Defaults to * for any day; Can be `1st mon` or `last sun` of the month
ISO week (1-53); Defaults to * for any week; `import datetime; print(datetime.date(2019, 12, 31).isocalendar()[1])`
hour (0-23); Defaults to * for any hour; e.g. 9,17,8-20/4 equals to 8,9,12,16,17,20
minute (0-59); Defaults to 0 instead of *; e.g. */10 to fire every 10 mins
second (0-59); Defaults to 0 instead of *; Caution with value *
To get the local timezone of your host, run command 'pip install tzlocal' first, then execute `from tzlocal import get_localzone; print(get_localzone())`
Execute task by random delay of [-N, +N] secs; Defaults to 0; Search 'jitter' in apscheduler.readthedocs.io/en/latest/modules/triggers/cron.html
Max tolerance of delay for misfired task; Defaults to 600 secs; See apscheduler.readthedocs.io/en/latest/userguide.html#missed-job-executions-and-coalescing
Max concurrently running instances of this task; Defaults to 1; See apscheduler.readthedocs.io/en/latest/userguide.html#limiting-the-number-of-concurrently-executing-instances-of-a-job