如何在JavaScript中使用日期和年份的英文数字将日期格式化为阿拉伯语?

问题描述:

我想要的日期按以下格式进行格式化:如何在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); 

实测值的溶液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

尝试 '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