It's bacause it's stored as a IEEE-754 floating point number. These will look different from normal integers and are not so easily read.
To give an example, before I edited my time for the screenshot the value in my file for the relevant four bytes was 0x44C66E47.
So let's find out what that translates to.
- First, the 3DS stores things in little-endian format (if we were to talk decimal numbers writing one-hundred and twenty three in big-endian would be 123, in little-endian we'd write 321) because that's the format its CPU expects. So first we need to reverse the bytes so we have 0x476EC644
- Now we can google for a 32-bit float converter and this site will do the trick.
- Enter the reversed bytes into the hexadecimal representation box and hit enter.
- This gives me 61126.266 seconds, or a little under 17 hours. Which matches what my game shows. If at this step you don't get what you're expecting you're reading the wrong bytes or following the steps above wrong.
- Maybe I want to edit things so I'm in place to see the middle ending (finishing between 4-8 hours) so we calculate what 4 hours is in seconds (4*60*60) and get 14400
- Putting that into the decimal representation box and hitting enter gives me a value of 0x46610000 — but remember this value would be big-endian
- So we reverse it to get 0x00006146, therefore you'd need to make those four bytes read 00 00 61 46
- Save your changes and reinject your save using your preferred method.