3

文化「he-IL」とヘブライ暦で日付を表示したいのですが、うまくいきませんでした。私は次のようになっています:

予想:火曜日שלישיט"זאיירתשע"ב

実際:יוםשלישי08שבט2012

日付のほんの一部が正しく表示されていますが、なぜこれが起こっているのですか?これは、C#(日付を正しく表示する)とJavascript(日付を正しく表示しない)を使用した1つの例です。

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent" >
<script type="text/javascript">
    function foo() {
        var d = new Date();
        var p = document.getElementById("txtHebrewDateJS");
        p.value = d.localeFormat(Sys.CultureInfo.CurrentCulture.dateTimeFormat.LongDatePattern);
    }
</script>
<asp:Label runat="server" Text="Hebrew calendar, culture he-IL, using code behind" />
<asp:TextBox runat="server" ID="txtHebrewDate" />
<br />
<asp:Label ID="Label1" runat="server" Text="Hebrew calendar, culture he-IL, using asp net ajax" />
<asp:TextBox runat="server" ClientIDMode="Static" ID="txtHebrewDateJS"  />
<br />
<asp:Button runat="server" Text="load hebrew date" onclientclick="foo();" />

背後にあるコード:

using System;
using System.Globalization;
using System.Threading;

public partial class _Default : System.Web.UI.Page {
    protected void Page_Load(object sender, EventArgs e) {
        txtHebrewDate.Text = DateTime.Now.ToString(Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongDatePattern);
    }

    protected override void InitializeCulture() { 
        var c = new System.Globalization.CultureInfo("he-IL"); 
        c.DateTimeFormat.Calendar = new HebrewCalendar(); 
        Thread.CurrentThread.CurrentCulture = c; 
        Thread.CurrentThread.CurrentUICulture = c; 
        base.InitializeCulture(); 
    }
}
4

1 に答える 1