This module accepts an array of timezones (or objects with a .timezone property) and a specified time criteria, then filters the array for only timezones in which the criteria is satisfied.
npm install tz-filter
I have a list of users, I want to know which users it's currently the weekend for. Say it's currently 8pm UTC
tzFilter = require 'tz-filter'users =dave:timezone: "Australia/Sydney" #6am Mondayjim:timezone: "Europe/Copenhagen" #10pm Sundayweekend =start: '00'end: '23'days: 'sat''sun'chillers = tzFilterusersweekend #Chillers contains only the jim object
You can also pass an offset in minutes to answer the question "Which timezones are valid in n minutes / n minutes ago?"
tzFilterusersweekend60 #Tests the condition as if it were an hour from nowtzFilterusersweekend-60 #Tests the condition as if it were an hour ago
This is written for a phone system that wants to know which of a list of users are currently in business hours and should have a call potentially directed to them.