[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"]