So I check my Sim's "career" box and see that today is Wednesday, a day which my Sim does not work on. However, it says "Work in two hours". When 9 p.m. rolls around, I get a notification saying my Sim is late for work. I figure there might be an error with the thing which says what days of the week my Sim works, so I send her to work. But it continually says Going to Work on my Sim's career box, even after arriving, and the performance metre does not go up, despite having her work hard. So I send her home. Then I find that the performance metre drops because I was missing work!
I should add that my Sim works as a Cat Burglar and got promoted the day before.
@TomT123456 This is a known issue with work shifts that span across two days, for example the same thing happens at a couple of levels of the music career (rock branch). The game gets confused as to whether the sim should actually be working, and the result is exactly what you're seeing.
There's no way to fix it without mods, but the good news is that it only happens when the sim is promoted and needs to go to work later that day. The next day's shift should be fine. The sim should also start gaining job performance after midnight of this same shift; you'll notice that the career panel will switch from "Going to Work" to "Working."
If you do use mods or are willing to try some, NRaas MasterController, with the Cheats add-on, offers a few ways around this. You can reset your sim's job performance to zero after the shift that shouldn't have happened is over. You can actually give your sim a day off, although you'd need to do so before work started, and if this somehow gives your sim an additional day off that you didn't want, you can take it away with MC as well. If you do in fact want your sim to work and gaing job performance, you can use an MC command to force her to go, which will make the shift progress normally. These are the commands, respectively, from the sim menu:
NRaas > MC > Intermediate > Career > Job Performance > [value]
NRaas > MC > Intermediate > Career > Days Off > [number]
NRaas > MC > Intermediate > Career > Go To Work
One key point with the last option is that the length of the resulting work shift is based on the normal work shift length, but it's rounded down to the previous hour. So if your sim is supposed to work 9 pm to 3 am, and you issue the command at 8:59, she'll work until 2. If you issue the command at 9:01, she'll work until 3.