Im doing time of day with NPCs on 2 projects and I would suggest 1 of 2 models.
Push Model - have time of day calculated on a single actor in your scene and use an event dispatcher to send current time to the NPCs on a regular interval
Pull Model - each NPC holds a reference to that single actor and each NPC queries the actor for current time on an interval