2016-11-29 25 views
5

我想要的日期按以下格式進行格式化:如何在JavaScript中使用日期和年份的英文數字將日期格式化爲阿拉伯語?

日期:2016年12月4日到الأحد,4ديسمبر年,2016年

但我發現了以下內容。數字轉換爲阿拉伯數字。我想用英文數字的日期和時間:

الأحد,4ديسمبر年,2016年

我用下面的代碼來格式化日期爲阿拉伯語。

var date = new Date('2016-12-04'); 
options = { 
      weekday: 'long', 
      year: 'numeric', 
      month: 'short', 
      day: 'numeric', 
      }; 
var dateString = date.toLocaleDateString('ar-SA', options); 
alert(dateString); 

回答

1

實測值的溶液Date conversion and manipulation in javascript with Arabic months

我的修改後的代碼,讓我的期望的輸出如下。

var date = new Date('2016-12-04'); 
 
var months = ["يناير", "فبراير", "مارس", "إبريل", "مايو", "يونيو", 
 
    "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر" 
 
]; 
 
var days = ["اﻷحد", "اﻷثنين", "الثلاثاء", "اﻷربعاء", "الخميس", "الجمعة", "السبت"]; 
 
var delDateString = days[date.getDay()] + ', ' + date.getDate() + ' ' + months[date.getMonth()] + ', ' + date.getFullYear(); 
 

 
console.log(delDateString); // Outputs اﻷحد, 4 ديسمبر, 2016

+0

注意'新的日期(「2016年12月4日」)'將解析字符串作爲UTC,但你的*獲取*方法是使用本地。格林威治西部時區的用戶將看到前一天的日期。 – RobG

1

嘗試 'AR-MA'(摩洛哥),而不是 'AR-SA'。

+0

應該是一個評論 –

+0

爲什麼它應該是一個評論?這是一個有效的答案: https://www.ibm.com/support/knowledgecenter/SSS28S_3.0.0/com.ibm.help.forms.doc/locale_spec/i_xfdl_r_formats_ar_MA.html – Sarmad

+0

我試過** ** ar_MA區域,它在Google Chrome V48中顯示阿拉伯數字。但在Firefox中也一樣。 https://jsfiddle.net/daj2jm3p/3/ – shebin512

相關問題