Actionscript 使用as3以阿拉伯语格式显示当前日期和时间

Actionscript 使用as3以阿拉伯语格式显示当前日期和时间,actionscript,flash-cs6,Actionscript,Flash Cs6,你好 我可以使用flash CS6和as3以阿拉伯语格式显示当前日期和时间吗 var now:Date=new Date() this["st_rep"+c]["date"].text=now.toDateString() this["st_rep"+c]["time"].text=now.toTimeString().slice(0,8) var eng_num=["0","1","2","3","4","5","6","7","8","9"] var ara

你好 我可以使用flash CS6和as3以阿拉伯语格式显示当前日期和时间吗

var now:Date=new Date()
    this["st_rep"+c]["date"].text=now.toDateString()
            this["st_rep"+c]["time"].text=now.toTimeString().slice(0,8)
var eng_num=["0","1","2","3","4","5","6","7","8","9"]
var ara_num=["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"]

function convert_arabic(str:String)
{
var new_str=""

for(var f=0;f<str.length;f++)
{
    var temp=str.slice(f,f+1)
    var xx:int=int(temp)
    if(String(Number(temp)) == String(temp))
    {
    for(var d=0;d<=eng_num.length;d++)
    {
        if(temp == eng_num[d])
        {
            new_str+=ara_num[d]
        }

    }
    }
    else
    {
                        new_str+=temp

    }
}
return new_str

提前感谢

没有神奇的方法可以做到这一点,您已经创建了一个格式化程序函数。大概是这样的:

var now:Date = new Date()

trace(formatDate(now.toDateString()));

function formatDate(dateStr:String)
{
    var dateParts:Array = dateStr.split(" ");
    var dayName:String = getDayName(dateParts[0]);
    var monthName:String = getMonthName(dateParts[1]);
    var day:String = dateParts[2];
    var year:String = dateParts[3];

    return year + " " + monthName + " " + day + " " + dayName;
}

function getMonthName(month:String):String
{
    switch (month)
    {
        case "Jan": return "يناير";
        case "Feb": return "فبراير";
        case "Mar": return "مارس";
        case "Apr": return "إبريل";
        case "May": return "مايو";
        case "Jun": return "يونيو";
        case "Jul": return "يوليو";
        case "Aug": return "أغسطس";
        case "Sep": return "سبتمبر";
        case "Oct": return "أكتوبر";
        case "Nov": return "نوفمبر";
        case "Dec": return "ديسمبر";
    }

    return null;
}

function getDayName(day:String):String
{
    switch (day)
    {
        case "Sat": return "السبت";
        case "Sun": return "الأحد";
        case "Mon": return "الإثنين";
        case "Tue": return "الثلاثاء";
        case "Wed": return "الأربعاء";
        case "Thu": return "الخميس";
        case "Fri": return "الجمعة";
    }

    return null;
}
var eng_num=["0","1","2","3","4","5","6","7","8","9"]
var ara_num=["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"]

function convert_arabic(str:String)
{
var new_str=""

for(var f=0;f<str.length;f++)
{
    var temp=str.slice(f,f+1)
    var xx:int=int(temp)
    if(String(Number(temp)) == String(temp))
    {
    for(var d=0;d<=eng_num.length;d++)
    {
        if(temp == eng_num[d])
        {
            new_str+=ara_num[d]
        }

    }
    }
    else
    {
                        new_str+=temp

    }
}
return new_str
function convert_arabic(str:String)
{
    var eng_num = ["0","1","2","3","4","5","6","7","8","9"];
    var ara_num = ["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"];

    for(var f:int = 0; f < eng_num.length; f++)
        str = str.replace(new RegExp(eng_num[f], "g"), ara_num[f]);

    return str;
}

请注意,根据我所知,您无法在flash中以阿拉伯语显示数字。如果您必须用阿拉伯语显示数字,您可以在库中创建一个10帧的movieclip,每个帧包含一个阿拉伯数字图像,并创建一个格式化程序函数,根据每个阿拉伯数字附加库中的剪辑。

我就是这么做的

var eng_num=["0","1","2","3","4","5","6","7","8","9"]
var ara_num=["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"]

function convert_arabic(str:String)
{
var new_str=""

for(var f=0;f<str.length;f++)
{
    var temp=str.slice(f,f+1)
    var xx:int=int(temp)
    if(String(Number(temp)) == String(temp))
    {
    for(var d=0;d<=eng_num.length;d++)
    {
        if(temp == eng_num[d])
        {
            new_str+=ara_num[d]
        }

    }
    }
    else
    {
                        new_str+=temp

    }
}
return new_str
var eng_num=[“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”]
var ara_num=[“۰”、“۱”、“۲”、“٤”、“٥”、“٦”、“۷”、“۸”、“۹”]
函数转换为阿拉伯语(str:String)
{
var new_str=“”

对于(var f=0;f阿拉伯数字的好解决方案:)。您可以编写一个更简单的函数版本,如下所示:

var now:Date = new Date()

trace(formatDate(now.toDateString()));

function formatDate(dateStr:String)
{
    var dateParts:Array = dateStr.split(" ");
    var dayName:String = getDayName(dateParts[0]);
    var monthName:String = getMonthName(dateParts[1]);
    var day:String = dateParts[2];
    var year:String = dateParts[3];

    return year + " " + monthName + " " + day + " " + dayName;
}

function getMonthName(month:String):String
{
    switch (month)
    {
        case "Jan": return "يناير";
        case "Feb": return "فبراير";
        case "Mar": return "مارس";
        case "Apr": return "إبريل";
        case "May": return "مايو";
        case "Jun": return "يونيو";
        case "Jul": return "يوليو";
        case "Aug": return "أغسطس";
        case "Sep": return "سبتمبر";
        case "Oct": return "أكتوبر";
        case "Nov": return "نوفمبر";
        case "Dec": return "ديسمبر";
    }

    return null;
}

function getDayName(day:String):String
{
    switch (day)
    {
        case "Sat": return "السبت";
        case "Sun": return "الأحد";
        case "Mon": return "الإثنين";
        case "Tue": return "الثلاثاء";
        case "Wed": return "الأربعاء";
        case "Thu": return "الخميس";
        case "Fri": return "الجمعة";
    }

    return null;
}
var eng_num=["0","1","2","3","4","5","6","7","8","9"]
var ara_num=["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"]

function convert_arabic(str:String)
{
var new_str=""

for(var f=0;f<str.length;f++)
{
    var temp=str.slice(f,f+1)
    var xx:int=int(temp)
    if(String(Number(temp)) == String(temp))
    {
    for(var d=0;d<=eng_num.length;d++)
    {
        if(temp == eng_num[d])
        {
            new_str+=ara_num[d]
        }

    }
    }
    else
    {
                        new_str+=temp

    }
}
return new_str
function convert_arabic(str:String)
{
    var eng_num = ["0","1","2","3","4","5","6","7","8","9"];
    var ara_num = ["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"];

    for(var f:int = 0; f < eng_num.length; f++)
        str = str.replace(new RegExp(eng_num[f], "g"), ara_num[f]);

    return str;
}
函数转换_阿拉伯语(str:String)
{
变量eng_num=[“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”];
var ara_num=[“۰”、“۱”、“۲”、“٤”、“٥”、“٦”、“۷”、“۸”、“۹”];
for(变量f:int=0;f

请注意,

Flash Player 10.1在Flash.globalization包中添加了DateTimeFormatter。它至少可以部分帮助您

var eng_num=["0","1","2","3","4","5","6","7","8","9"]
var ara_num=["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"]

function convert_arabic(str:String)
{
var new_str=""

for(var f=0;f<str.length;f++)
{
    var temp=str.slice(f,f+1)
    var xx:int=int(temp)
    if(String(Number(temp)) == String(temp))
    {
    for(var d=0;d<=eng_num.length;d++)
    {
        if(temp == eng_num[d])
        {
            new_str+=ara_num[d]
        }

    }
    }
    else
    {
                        new_str+=temp

    }
}
return new_str
import flash.globalization.DateTimeFormatter;

var d:Date = new Date();
// The locale for Jordan is "ar-JO"
var dtf:DateTimeFormatter = new DateTimeFormatter("ar-JO", DateTimeStyle.LONG, DateTimeStyle.LONG);
trace(dtf.format(d));

// Output on a PC running an English version of Windows:
// 11 آب, 2013 01:57:06 م

如果使用TLF文本字段,则可以从右向左显示文本。但请注意,TLF已从当前版本的Flash Pro(Flash Pro CC 1.0)中删除,也不清楚是否/何时会有替代者。

但我使用该功能来转换时间(我也是一名老的flash开发者:),但我从来都不知道你用什么聪明的方式将数字转换成阿拉伯语。总有一些新东西需要学。是的:)我想问你,你知道我如何在twitter上共享照片我为Facebook做了,但仍然在tw上尝试itter只是我可以分享Linkthank这段有用的代码有很多,但我需要的也是阿拉伯数字,我解决了:)
var eng_num=["0","1","2","3","4","5","6","7","8","9"]
var ara_num=["۰","۱","۲","۳","٤","٥","٦","۷","۸","۹"]

function convert_arabic(str:String)
{
var new_str=""

for(var f=0;f<str.length;f++)
{
    var temp=str.slice(f,f+1)
    var xx:int=int(temp)
    if(String(Number(temp)) == String(temp))
    {
    for(var d=0;d<=eng_num.length;d++)
    {
        if(temp == eng_num[d])
        {
            new_str+=ara_num[d]
        }

    }
    }
    else
    {
                        new_str+=temp

    }
}
return new_str