亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

阿拉伯語 JavaScript 中的日期時間

阿拉伯語 JavaScript 中的日期時間

喵喵時光機 2022-06-16 10:04:47
我的 JavaScript 函數有問題var tDate = new Intl.DateTimeFormat("ar-US", {   day: 'numeric',  month: 'long',  year: 'numeric'}).format(Date.now()) +  '\xa0\xa0/ \xa0' +  new Intl.DateTimeFormat("ar-FR-u-ca-islamic", {  day: 'numeric',   month: 'long',  year: 'numeric'}).format(Date.now());console.log(tDate);阿拉伯語的輸出是:4 April 2020 / 11 Sha'ban 1441 AHin 英語 : April 5, 2020 / Sha?ban 12, 1441 AH阿拉伯語有什么問題,4號移到左邊為什么?
查看完整描述

2 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

使用 Intl 對象的日期格式輸出在不同的實現中不一定一致。對我來說,OP 代碼在不同的瀏覽器中會產生不同的結果:

  • 野生動物園:2020 年 4 月 6 日 / Shaban 13, 1441

  • 火狐:2020 年 4 月 6 日 / 13 沙班 1441 AH

  • 鉻:2020 年 4 月 6 日 / 13 沙班 1441 AH

它們在格式或字符上都不完全相同。

如果您想確保組件按您想要的順序排列,請使用formatToParts,收集零件然后按您想要的順序輸出它們。只要確保結果是明確的(例如,使用您所做的月份名稱)。

let partsHeg = new Intl.DateTimeFormat('ar-FR-u-ca-islamic', {

  day: 'numeric', 

  month: 'long',

  year: 'numeric'

}).formatToParts(Date.now());


partsHeg.forEach(part => {

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

    console.log(part.type + ': ' + part.value);

  }

});


let partsGre = new Intl.DateTimeFormat('ar-US', {

  day: 'numeric', 

  month: 'long',

  year: 'numeric'

}).formatToParts(Date.now());


partsGre.forEach(part => {

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

    console.log(part.type + ': ' + part.value);

  }

});


查看完整回答
反對 回復 2022-06-16
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

您可以通過添加 RTL Unicode 的一 (1) 個語句/代碼來修復此問題,以修復方向。當阿拉伯文本中的最后一個或第一個字母是拉丁字符時,就會發生這種情況。


let RTL = "\u200F";       // Added ****

var tDate = RTL + new Intl.DateTimeFormat("ar-US", {  // Added RTL before

  day: 'numeric',

  month: 'long',

  year: 'numeric'

}).format(Date.now()) +

  '\xa0\xa0/ \xa0' +

  new Intl.DateTimeFormat("ar-FR-u-ca-islamic", {

  day: 'numeric', 

  month: 'long',

  year: 'numeric'

}).format(Date.now());


console.log(tDate);                  // You can add RTL here instead console.log(RTL+tDate); 


查看完整回答
反對 回復 2022-06-16
  • 2 回答
  • 0 關注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號