I'm trying to find the next run time of sql agent job by query msdb sysjobs and sysjobschedules tables:

select j.name, s.next_run_date, s.next_run_time
from sysjobs j
inner join sysjobschedules s on j.job_id = s.job_id

all jobs were scheduled
in case the job was just installed I get 0 in next_run_date, next_run_time columns, while the EM display the correct date time
in case the job just finished running I'm getting the last run date and time values in the next run date time columns
do any one knows how to get the exact value in sql ?
(yes, i know how to get it with SQLDMO objects)