We stored DateTime.UtcNow in DDS.
Another possibility that does not involve the DDS is to add the execution time to the Job Instance's execution log and then to read back the previous execution time from the log of the previous job instance (with a default value in case it is the first run of the Job).
If you use this guy (https://github.com/valdisiljuconoks/TechFellow.ScheduledJobOverview) - it shows you last execution date and time. Sneak around the code to check how it reads it from job store.
I have an optimization need in my scheuled job. It extends job base, and everything works fine. It imports prices, and i would like be able to sort out those who are not changed since the job has executed. For this i would need the time when the job executed last. And then check if the created/changed date is bigger than the execution date.
Have anyone done something similar?