How to get job start time inside of a TSQL agent job step?
There is a lot of information about the jobs and SQL Server Agent in msdb.
You can check it out below, I added a few columns that help you in your thoughts. Maybe you want to check If this job success or not (in the message column).
SELECT  JobName = sj.name,
        StepName = jh.step_name,
        RunDateTime = msdb.dbo.agent_datetime(run_date, run_time),
        EndDateTime = DATEADD(SECOND, run_duration / 10000 * 3600 + run_duration % 10000 / 100 * 60 + run_duration % 100, msdb.dbo.agent_datetime(jh.run_date, jh.run_time)),
        jh.message
FROM msdb.dbo.sysjobs sj
INNER JOIN msdb.dbo.sysjobhistory jh ON sj.job_id = jh.job_id
where step_id=0

For the comment: There is no clearly answered yet about that. So, you should try it.
Microsoft says;

In most cases the data is updated only after the job step completes
and the table typically contains no records for job steps that are
currently in progress, but in some cases underlying processes do
provide information about in progress job steps.