The time of kriat shma is learned basically from the pasuk "בשכבך ובקומך", meaning the time people sleep and the time people wake up.
2000 years ago people acted according to the daylight. Nowadays we have electricity. The time should be adjusted to the normal working hours. Let's say in the winter, people don't start to sleep at 5 pm, nor start to wake up at 7:00 am.
The opposite question is in the summer. If i am living in the UK or canada, why i am permitted just to say shma at 10 pm, people start to go sleep earlier. Or why can i say shma already at 4 am ?