К сожалению, после поиска я не могу найти какую-либо библиотеку или что-нибудь, чтобы получить дату иврита во флэш-памяти. Тем не менее, я нашел этот сайт:
http://www.hebcal.com/converter/?gd=21&gm=6&gy=2011&g2h=Convert+Gregorian+to+Hebrew+date
Похоже, что hebcal.com принимает григорианскую дату в переменных GET в URL и возвращает правильную дату на иврите. Таким образом, теоретически вы можете использовать флэш-URLLoader для загрузки URL-адреса, состоящего из вашей текущей григорианской даты, во флэш-памяти, а затем проанализировать данные HTML в ответе на запрос для извлечения даты на иврите.
Я понял, как это сделать для вас, используя веб-сервис hebcal.com. Вот код actioncript 3 для выполнения этой задачи:
import flash.net.URLLoader;
import flash.events.Event;
import flash.net.URLRequest;
var currentDate:Date = new Date();
var dateLoader:URLLoader = new URLLoader();
var dateQueryURL:String = 'http://www.hebcal.com/converter/?gd=' + currentDate.date + '&gm=' + (currentDate.month+1) + '&gy=' + currentDate.fullYear + '&g2h=Convert+Gregorian+to+Hebrew+date';
trace(dateQueryURL);
dateLoader.addEventListener(Event.COMPLETE, onDateConverted);
dateLoader.load(new URLRequest(dateQueryURL));
var hebrewDateSearchRegexp:RegExp = /([a-zA-Z0-9 ,]{1,30})(?=<\/b)/gixm;
function onDateConverted(e:Event):void
{
var queryResult:String = e.currentTarget.data as String;
var hebrewDate:String;
var dateArr:Array = queryResult.match(hebrewDateSearchRegexp);
if(dateArr && dateArr.length > 0){
//The date was found in the string
hebrewDate = dateArr[0];
trace("The current Hebrew date is: " + hebrewDate);
}else{
trace("Error retrieving current Hebrew date.");
}
}
Так что в основном я просто использую регулярное выражение, которое находит / выбирает только ту часть HTML, которая содержит дату на иврите. Затем я извлекаю это с помощью string.match () и выводю его в операторе трассировки.
Также обратите внимание, что с currentDate.month мне пришлось увеличить его на 1, потому что flash считает месяцы от 0 до 11, а инструмент на hebcal.com - от 1 до 12.