Adam Jenkins
Lead maintainer
Timezone date/time (tiny_timezone) is a TinyMCE editor plugin for courses whose participants span timezones. Wherever the Tiny editor appears — labels, pages, forum posts, assignment descriptions — authors get a toolbar button and menu item that opens a small dialog: choose a date, a time and a timezone (defaulting to your own), and insert.
What lands in the content is a span carrying the moment as an exact Unix timestamp plus the authoring timezone, wrapped around a human-readable fallback rendering. The companion text filter, filter_timezone, rewrites that span at display time into each viewer's own timezone using Moodle's core date machinery — so "14:00 in London" reads "23:00" for a student in Sydney with no mental arithmetic and no DST mistakes. Without the filter, readers simply see the fallback text with its timezone name, so content never breaks.
The editing experience is carefully engineered: inserted date/times are atomic (contenteditable="false"), so the caret cannot slip inside and adjacent typing can never be swallowed; clicking an existing date/time reopens the dialog to update it in place rather than duplicating it. A capability (tiny/timezone:use) controls who may use the button. Requires Moodle 5.0+ and pairs with filter_timezone; CI covers Moodle 5.0–5.2.