The timezone should be adjustable [e.g. like in Moment Timezone date.tz('Asia/Tokyo')] or today should be accessible/configurable from outside the widget. Currently getToday() always returns the local time. Suggestion: Add the attribute today to the options and change the initialization of var today = new DATE() in getToday() to var today = new DATE(options.today) ...