commit 60d769b9af08fee5ac24a8da873658c001f4a77e
Author: Ian Dunn <ian@iandunn.name>
Date:   Tue Aug 18 14:31:44 2020 +0000

    wip date_utc

diff --git 1.0/index.php 1.0/index.php
index 638afcb..b0e6681 100644
--- 1.0/index.php
+++ 1.0/index.php
@@ -829,8 +829,16 @@ function get_events( $args = array() ) {
 			'url'        => $event->url,
 			'meetup'     => $event->meetup,
 			'meetup_url' => $event->meetup_url,
-			'date'       => $event->date_utc, // TODO: DB stores a local date, not UTC.
+
+			/*
+			 * The `date_utc` column in the database is misnomed, and contains times in the event's local
+			 * timezone. So the `date` field in the response is the local time, and the `date_utc` field in
+			 * the response here is _actually_ UTC.
+			 */
+			'date'       => $event->date_utc,
 			'end_date'   => $event->end_date,
+			'date_utc'     => strtotime( $event->date_utc ) - $event->date_utc_offset,
+			'end_date_utc' => strtotime( $event->end_date ) - $event->date_utc_offset,
 
 			'location'   => array(
 				// Capitalize it for use in presentation contexts, like the Events Widget.
@@ -1382,7 +1390,7 @@ function pin_next_workshop_discussion_group( $events, $user_agent ) {
 		 * local events to retain some more of their presence.
 		 */
 		$raw_discussion_group = $wpdb->get_row( "
-			SELECT `title`, `url`, `meetup`, `meetup_url`, `date_utc`, `end_date`, `country`, `latitude`, `longitude`
+			SELECT `title`, `url`, `meetup`, `meetup_url`, `date_utc`, `date_utc_offset`, `end_date`, `country`, `latitude`, `longitude`
 			FROM `wporg_events`
 			WHERE
 				type       = 'meetup'    AND
@@ -1401,8 +1409,12 @@ function pin_next_workshop_discussion_group( $events, $user_agent ) {
 				'url'        => $raw_discussion_group->url,
 				'meetup'     => $raw_discussion_group->meetup,
 				'meetup_url' => $raw_discussion_group->meetup_url,
+
+				// See notes about UTC in `get_events()`.
 				'date'       => $raw_discussion_group->date_utc,
 				'end_date'   => $raw_discussion_group->end_date,
+				'date_utc'      => strtotime( $raw_discussion_group->date_utc ) - $raw_discussion_group->date_utc_offset,
+				'end_date_utc'  => strtotime( $raw_discussion_group->end_date ) - $raw_discussion_group->date_utc_offset,
 
 				'location'   => array(
 					'location'  => 'Online',
