第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Intl.DateTimeFormat 在節(jié)點(diǎn)和瀏覽器中以不同的方式工作

Intl.DateTimeFormat 在節(jié)點(diǎn)和瀏覽器中以不同的方式工作

守著一只汪 2022-12-09 15:12:52
讓我們考慮以下代碼:console.log(new Intl.DateTimeFormat('pl-PL', {  year: 'numeric',  month: '2-digit',  day: '2-digit'}).format(new Date(2019, 2, 4)));在Node JS它給予2019-03-04但在chrome browser它回報(bào)04.03.2019。為什么?我的問(wèn)題類似于:為什么 Intl.DateTimeFormat 在不同的瀏覽器中產(chǎn)生不同的結(jié)果?node 和 chrome 的官方文檔在哪里,我什么時(shí)候可以閱讀這些差異。更新:它可能對(duì)某人有幫助,所以我將添加它以強(qiáng)制執(zhí)行我正在使用此代碼的通用格式:export const useDashInDate = (dateString: string): string => {     return /\d{4}-\d{2}-\d{2}/.test(dateString) ? dateString : dateString.split('.').reverse().join('-'); };
查看完整描述

1 回答

?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

DateTimeFormat.format返回的字符串的格式是基于語(yǔ)言代碼的,但是沒(méi)有規(guī)范將語(yǔ)言映射到格式。因此,每個(gè)實(shí)現(xiàn)都可以自由地將語(yǔ)言映射到它想要的格式。大多數(shù)情況下,它們是一致的,但并非總是如此。如果不支持特定語(yǔ)言,它可能會(huì)回退到默認(rèn)值(例如 ISO 8601 或像 en 這樣的通用語(yǔ)言代碼)。

如果您想要特定格式,請(qǐng)使用您自己的函數(shù)手動(dòng)執(zhí)行或使用庫(kù),請(qǐng)參閱如何格式化 JavaScript 日期。

例如,您可以將formatToParts與更通用的語(yǔ)言代碼一起使用:

function format(date) {

  let {year, month, day} = new Intl.DateTimeFormat('pl', {

    year: 'numeric',

    month: '2-digit',

    day: '2-digit'

  }).formatToParts(date).reduce((acc, part) => {

    if (part.type != 'literal') {

      acc[part.type] = part.value;

    }

    return acc;

  }, Object.create(null));

  return `${day}.${month}.${year}`;

}

  

console.log(format(new Date(2019, 2, 4)));


查看完整回答
反對(duì) 回復(fù) 2022-12-09
  • 1 回答
  • 0 關(guān)注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)