UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 4.59 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{strict as t}from"../core/jsonMap.js";import{beforeLocaleChange as e,getLocale as o,getLocaleParts as n}from"./locale.js";import{unknown as r,utc as a,system as m,systemTimeZone as h}from"../time/constants.js";import{shortTimeZoneName as i}from"../time/timeZoneUtils.js";import{DateTime as s}from"luxon";const l={year:void 0,month:void 0,day:void 0,weekday:void 0},y={hour:void 0,minute:void 0,second:void 0},d={timeZone:a},g={year:"numeric",month:"numeric",day:"numeric"},u={year:"numeric",month:"long",day:"numeric"},c={year:"numeric",month:"short",day:"numeric"},D={year:"numeric",month:"long",weekday:"long",day:"numeric"},f={hour:"numeric",minute:"numeric"},T={...f,second:"numeric"},L={hourCycle:"h23"},S={...f,...L},M={...T,...L},w={"short-date":g,"short-date-short-time":{...g,...f},"short-date-short-time-24":{...g,...S},"short-date-long-time":{...g,...T},"short-date-long-time-24":{...g,...M},"short-date-le":g,"short-date-le-short-time":{...g,...f},"short-date-le-short-time-24":{...g,...S},"short-date-le-long-time":{...g,...T},"short-date-le-long-time-24":{...g,...M},"long-month-day-year":u,"long-month-day-year-short-time":{...u,...f},"long-month-day-year-short-time-24":{...u,...S},"long-month-day-year-long-time":{...u,...T},"long-month-day-year-long-time-24":{...u,...M},"day-short-month-year":c,"day-short-month-year-short-time":{...c,...f},"day-short-month-year-short-time-24":{...c,...S},"day-short-month-year-long-time":{...c,...T},"day-short-month-year-long-time-24":{...c,...M},"long-date":D,"long-date-short-time":{...D,...f},"long-date-short-time-24":{...D,...S},"long-date-long-time":{...D,...T},"long-date-long-time-24":{...D,...M},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":f,"long-time":T},Y=t()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),Z={ar:"ar-u-nu-latn-ca-gregory",nn:"no-NN"},p=new Intl.DateTimeFormat("bs",{month:"long"}).formatToParts(new Date(2025,2)),v=p.find((({type:t})=>"month"===t))?.value.toLowerCase();function j(){const t=o(),e=n(t)?.language;return(e&&Z[e])??t}"mart"!==v&&(Z.bs="sr-Latn-CS");let E=new WeakMap;const k=w["short-date-short-time"];function I(t){let e=E.get(t);if(!e){const o=j(),n=P(t.timeZone??m),r={...t,timeZone:n};e=new Intl.DateTimeFormat(o,r),E.set(t,e)}return e}function N(t){return w[t]}function C(t,e=k){return I(e).format(t)}function F(t,e=k){return C(new Date(t),{...e,...d,...y})}function b(t,e=k){return C(new Date(`1970-01-01T${t}Z`),{...e,...d,...l})}function x(t,e=k){if(e.timeZone)return C(new Date(t),e);const o=s.fromISO(t,{setZone:!0}),n=0===o.offset?a:e.timeZone,r={...e,timeZone:n};return o.toLocaleString(r,{locale:j()})}function P(t){switch(t){case m:return h;case r:return a;default:return t}}function W(t,e){return new Intl.DateTimeFormat(j(),e).formatToParts(t)}function O(t,e=new Date){return W(e,{timeZone:t,timeZoneName:i}).find((({type:t})=>"timeZoneName"===t))?.value}e((()=>{E=new WeakMap}));export{N as convertDateFormatToIntlOptions,Y as dateFormatJSONMap,C as formatDate,F as formatDateOnly,b as formatTimeOnly,x as formatTimestamp,I as getDateTimeFormatter,O as getShortOffsetTimeZoneSuffix,P as resolveTimeZone};