UNPKG

@awsui/components-react

Version:

On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en

31 lines 1.44 kB
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { padLeftZeros } from '../strings'; export function formatTimeOffsetISO(isoDate, offsetInMinutes) { offsetInMinutes = defaultToLocal(isoDate, offsetInMinutes); const { hours, minutes } = getMinutesAndHours(offsetInMinutes); const sign = offsetInMinutes < 0 ? '-' : '+'; const formattedOffset = `${sign}${formatISO2Digits(hours)}:${formatISO2Digits(minutes)}`; return formattedOffset; } export function formatTimeOffsetLocalized(isoDate, offsetInMinutes) { offsetInMinutes = defaultToLocal(isoDate, offsetInMinutes); if (offsetInMinutes === 0) { return '(UTC)'; } const { hours, minutes } = getMinutesAndHours(offsetInMinutes); const sign = offsetInMinutes < 0 ? '-' : '+'; const formattedMinutes = minutes === 0 ? '' : `:${minutes}`; const formattedOffset = `(UTC${sign}${hours}${formattedMinutes})`; return formattedOffset; } function defaultToLocal(isoDate, offsetInMinutes) { return offsetInMinutes !== null && offsetInMinutes !== void 0 ? offsetInMinutes : 0 - new Date(isoDate).getTimezoneOffset(); } function getMinutesAndHours(minutes) { return { hours: Math.floor(Math.abs(minutes) / 60), minutes: Math.abs(minutes % 60) }; } function formatISO2Digits(n) { return padLeftZeros(n.toFixed(0), 2); } //# sourceMappingURL=format-time-offset.js.map