// ============================================================================= // 2022-02-17 15:15 // eventDateUtilities - functions used site-wide to ensure consistent display // of events dates and times // ============================================================================= // ============================================================================= // formatEventDate - format an event date // ============================================================================= function formatEventDate(d1s, d2s, d3s, d4s, tz) { var d1 = 0; var d2 = 0; var d3 = 0; var d4 = 0; d1 = luxon.DateTime.fromSeconds(Number(d1s)).setZone(tz); var s = d1.toFormat("d"); var m = d1.toFormat("MMMM"); if ( d2s != "" ) { d2 = luxon.DateTime.fromSeconds(Number(d2s)).setZone(tz); if ( m != d2.toFormat("MMMM")) { s = s + " " + m; m = d2.toFormat("MMMM"); } s = s + d2.toFormat(", d"); } if ( d3s != "" ) { d3 = luxon.DateTime.fromSeconds(Number(d3s)).setZone(tz); if ( m != d3.toFormat("MMMM")) { s = s + " " + m; m = d3.toFormat("MMMM"); } s = s + d3.toFormat(", d"); } if ( d4s != "" ) { d4 = luxon.DateTime.fromSeconds(Number(d4s)).setZone(tz); if ( m != d4.toFormat("MMMM")) { s = s + " " + m; m = d4.toFormat("MMMM"); } s = s + d4.toFormat(", d"); } return s + " " + m + d1.toFormat(" yyyy"); } // formatEventDate // ============================================================================= // formatEventTime - format an event time // ============================================================================= function formatEventTime(d1s, tz, tzoverride) { var d1 = luxon.DateTime.fromSeconds(Number(d1s)).setZone(tz); if (tzoverride == '') { return d1.toFormat("T") + " " + tz.substr(tz.indexOf("/")+1,999); } else { return d1.toFormat("T") + " " + tzoverride; } } // formatEventTime // ============================================================================= // localStart - format a date / time in the local timezone // ============================================================================= function localStart(d1s) { var d1 = luxon.DateTime.fromSeconds(Number(d1s)); return d1.toFormat("ccc, d MMM yyyy, HH:mm ZZZZ '(local)'"); } // localStart