The work hours should indeed be 7am to 1 am the next day.
I really have no idea why your times are wrong.
However, I often find a tired, stressed or unhappy sim will leave work part way through a shift. If this happens you can simply click on their place of work and select go to work. They should return and finish the shift. This can also be done by openning the career tab and clicking on go to work.
Particularly with the long shift, it is best to get your sims motive bars up to full before they go. Adding things which improve mood can help a little two. For example: Put a flame fruit in the inventory. Get the Happiness reward from the Genie. Have them eat their favourite meal immediately before work. Their are a lot of ways to improve mood that have a long time effect, or, in some cases, a continous effect.
If this does not fix the problem, please let us know, someone else may have another solution.