The day/night cycle is, what I would call "hard coded" into the game.
the only way to really play with this is to write your own script to keep track of your "Time of day", and change the game's time of day to match what you want it to be.
The value counts up from 0 to 1 over the span of a day
As an example, I think 0/1 is mid-day and 0.5 is midnight. To shorten the day, you might do a check for exactly 0, and when you get it, change it to 0.2, which skips a 5th of the day length. Then similarly monitor for 0.6, and change it back to 0.4 to make the night longer. Of course, when jumping backwards you'll need to keep track of when you jump back, to make sure you only do it once a day, else you'll be stuck in an infinite night cycle.
for more information, see this link:
https://wiki.factorio.com/Game-day
(Note, turns out that 0.6 is dawn, and 0.4 is dusk, so that 0.2 span is wider than the whole night cycle... it was just an example to demonstrate the idea)
Of course, if you start playing with the time value, if you have a clock installed, like my mod, then the time it tells you will jump around all over the place as you edit the game time.