c# - 希伯来语/犹太语日期转换

标签 c# actionscript-3 actionscript air

我想将公历日期(我们通常在美国使用的日期)转换为希伯来(犹太)日期。我将 Adob​​e Flash CS5 用于 Adob​​e AIR 应用程序。是否已经在 ActionScript 3.0 上为此开发了一些代码?

经过一段时间的研究,我发现在 Visual Studio 上创建的 Windows 应用程序具有满足此类需求的内置功能。是否有某种方法可以在 Windows 窗体或 AIR 中调用函数?

最佳答案

不幸的是,在四处搜索之后,我找不到任何图书馆或任何东西来在 Flash 中获取希伯来语日期。但是,我找到了这个网站:

http://www.hebcal.com/converter/?gd=21&gm=6&gy=2011&g2h=Convert+Gregorian+to+Hebrew+date

hebcal.com 似乎接受 URL 中 GET 变量中的公历日期,并返回正确的希伯来日期。 因此,理论上您可以使用 flash URLLoader 在 flash 中加载由当前公历日期组成的 URL,然后解析请求响应中的 HTML 数据以提取希伯来语日期。

我继续研究如何使用网络服务 hebcal.com 为您执行此操作。这是完成此任务的 actionscript 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 计算。

关于c# - 希伯来语/犹太语日期转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6499982/

相关文章:

flash - 将 HTTPS 与 App Engine 结合使用以确保来自 Flash swf 的安全轮询结果

c# - 如何使用 C# 从 postgresql 数据库中检索双数组?

actionscript-3 - AIR - 按比例调整 native 窗口大小

python - 使用 as3 打包/解包二进制数据

游戏开发的 Flash 性能 : native render VS BitmapData framebuffer

java - 确定日期夏令时的算法?

c# - 从 C# 应用程序中添加 reg 并从 cmd 窗口中查询值后出现不同值的原因是什么?

c# - 处理过多导致后台 worker 崩溃?

C# 删除 typeof 并仅将类名传递给函数

apache-flex - 如何在运行时获取控件的类型?