MCPcopy
hub / github.com/formatjs/formatjs / ToLocalTime

Function ToLocalTime

packages/ecma402-abstract/DateTimeFormat/ToLocalTime.ts:135–183  ·  view source on GitHub ↗
(
  t: Decimal,
  calendar: string,
  timeZone: string,
  {tzData}: ToLocalTimeImplDetails
)

Source from the content-addressed store, hash-verified

133 * @param timeZone
134 */
135export function ToLocalTime(
136 t: Decimal,
137 calendar: string,
138 timeZone: string,
139 {tzData}: ToLocalTimeImplDetails
140): {
141 weekday: number
142 era: string
143 year: number
144 relatedYear: undefined
145 yearName: undefined
146 month: number
147 day: number
148 hour: number
149 minute: number
150 second: number
151 millisecond: number
152 inDST: boolean
153 timeZoneOffset: number
154} {
155 invariant(
156 calendar === 'gregory',
157 'We only support Gregory calendar right now'
158 )
159 const [timeZoneOffset, inDST] = getApplicableZoneData(
160 t.toNumber(),
161 timeZone,
162 tzData
163 )
164
165 const tz = t.plus(timeZoneOffset).toNumber()
166 const year = YearFromTime(tz)
167 return {
168 weekday: WeekDay(tz),
169 era: year < 0 ? 'BC' : 'AD',
170 year,
171 relatedYear: undefined,
172 yearName: undefined,
173 month: MonthFromTime(tz),
174 day: DateFromTime(tz),
175 hour: HourFromTime(tz),
176 minute: MinFromTime(tz),
177 second: SecFromTime(tz),
178 millisecond: msFromTime(tz),
179 inDST,
180 // IMPORTANT: Not in spec
181 timeZoneOffset,
182 }
183}

Callers 2

FormatDateTimePatternFunction · 0.85

Calls 12

getApplicableZoneDataFunction · 0.85
YearFromTimeFunction · 0.85
WeekDayFunction · 0.85
MonthFromTimeFunction · 0.85
DateFromTimeFunction · 0.85
HourFromTimeFunction · 0.85
MinFromTimeFunction · 0.85
SecFromTimeFunction · 0.85
msFromTimeFunction · 0.85
toNumberMethod · 0.80
plusMethod · 0.80
invariantFunction · 0.50

Tested by

no test coverage detected