data = raw_data.map((d) => {
const tzdate = Temporal.Instant.from(d.date).toZonedDateTimeISO(
"America/Los_Angeles"
);
const date = new Date(tzdate.epochMilliseconds);
const hour = tzdate.hour;
const dayOfMonth = tzdate.day;
const day = weekdays[tzdate.dayOfWeek + -1];
const weekend = tzdate.dayOfWeek > 5 ? "Weekend" : "Weekday";
const week = tzdate.weekOfYear;
const month = months[tzdate.month - 1];
const quarter =
tzdate.month < 4
? "Q1: Jan - Mar"
: tzdate.month < 7
? "Q2: Apr - Jun"
: tzdate.month < 10
? "Q3: Jul - Sep"
: "Q4: Oct - Dec";
const value = d.value;
return {
date,
hour,
day,
weekend,
week,
month,
quarter,
value,
dayOfMonth,
};
})