javascript - 如何使用 MSFT AJAX 库客户端(Sys 命名空间)获取希伯来日历中显示的日期?

标签 javascript calendar

我想显示具有文化“he-IL”和希伯来历的日期,但没有成功。我得到以下信息:

预期: ♬ ם שלישי ט"ז אייו תשע"ב

实际: יום 2012 年 08 月 20 日

只有一部分日期显示正确,知道为什么会这样吗?这是一个使用 C# 的示例(它正确显示日期)和另一个使用 Javascript 的示例(它没有正确显示日期):

<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(); 
    }
}

最佳答案

public string HebrewDate(string dateString)
  {
   DateTime date = DateTime.Parse(dateString);             

   var ci = CultureInfo.CreateSpecificCulture("he-IL");
   ci.DateTimeFormat.Calendar = new HebrewCalendar();
   return date.ToString("D", ci);
  }

如果你不想显示星期几,你可以换行:

return date.ToString("D", ci);

进入:

return date.ToString("d", ci);

来源:Shimmy's comment on C# and iOS Programming blog

关于javascript - 如何使用 MSFT AJAX 库客户端(Sys 命名空间)获取希伯来日历中显示的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10503627/

相关文章:

javascript - javascript 中的 onclick 事件出错

java - 如何从字符串中获取经过的年数

ios - 日历:获取日期组件,奇怪的情况

php - session 不适用于 AJAX

javascript - Jquery 和 javascript 命名空间

java - 打印日历

c# - 删除 'ext:CalendarPanel' 中的所有事件

java - Java 支持儒略历吗?

javascript - Sequelize.or 返回 Limit 1 而不是 or 结果

javascript - Firebase currentUser.getIdToken() 在signInWithCustomToken后返回自定义 token