@@ -9,6 +9,15 @@ export interface ScheduleItemProps {
99 speaker : Speaker | null ;
1010}
1111
12+ const UTC_FMT = new Intl . DateTimeFormat (
13+ "en-GB-u-hc-h23" ,
14+ { hour : "2-digit" , minute : "2-digit" , timeZone : "UTC" } ,
15+ ) ;
16+ const LOCAL_FMT = new Intl . DateTimeFormat (
17+ "en-GB-u-hc-h23" ,
18+ { hour : "2-digit" , minute : "2-digit" } ,
19+ ) ;
20+
1221export default class ScheduleItem extends React . Component <
1322 ScheduleItemProps ,
1423 { }
@@ -64,6 +73,10 @@ export default class ScheduleItem extends React.Component<
6473
6574 const SpeakerNameTag = isTalk && speaker ! . social ? "a" : "p" ;
6675
76+ const [ hourString , minString ] = schedule . time . split ( ':' , 2 )
77+ const time = new Date ( Date . UTC ( 2020 , 3 , 25 , parseInt ( hourString ) , parseInt ( minString ) ) )
78+ console . log ( hourString , minString , time )
79+
6780 return (
6881 < li className = { scheduleItemClasses } >
6982 { isTalk && (
@@ -83,7 +96,20 @@ export default class ScheduleItem extends React.Component<
8396 { speaker ! . name }
8497 </ SpeakerNameTag >
8598 ) }
86- < span className = "schedule-item--time" > { schedule . time } </ span >
99+ < span className = "schedule-item--time" >
100+ < span className = "schedule-item--time-row" >
101+ < span className = "schedule-item--time-tz" > UTC</ span >
102+ < span className = "schedule-item--time-time" >
103+ { UTC_FMT . format ( time ) }
104+ </ span >
105+ </ span >
106+ < span className = "schedule-item--time-row" >
107+ < span className = "schedule-item--time-tz" > Local</ span >
108+ < span className = "schedule-item--time-time" >
109+ { LOCAL_FMT . format ( time ) }
110+ </ span >
111+ </ span >
112+ </ span >
87113 </ div >
88114 </ li >
89115 ) ;
0 commit comments