[Turn off line numbering]1: arg zone, dayscale; 2: var t, t1, t2; 3: 4: t = (.local_time() / 3600 + zone) % 24; 5: t1 = 6 - dayscale; 6: t2 = 18 + dayscale; 7: switch (t) { 8: case 0 .. 2: 9: return [t, 'night, 'night]; 10: case 3 .. t1 - 1: 11: return [t, 'predawn, 'night]; 12: case t1: 13: return [t, 'dawn, 'day]; 14: case t1 + 1 .. 11: 15: return [t, 'morning, 'day]; 16: case 12: 17: return [t, 'noon, 'day]; 18: case 13 .. t2 - 1: 19: return [t, 'afternoon, 'day]; 20: case t2: 21: return [t, 'sunset, 'day]; 22: case t2 + 1 .. 22: 23: return [t, 'evening, 'night]; 24: case 23: 25: return [t, 'night, 'night]; 26: }
// Created 19-Nov-1996 as a part of ColdCore, see: @help Credit