【问题标题】:How can I determine if a string is a Hebrew or Gregorian date?如何确定字符串是希伯来日期还是公历日期?
【发布时间】:2010-05-09 15:54:16
【问题描述】:

我有一个包含希伯来日期或公历日期的字符串值。如何在 C# 中确定它是公历还是希伯来语?

【问题讨论】:

  • 您可以发布日期字符串的示例吗?
  • 有哪些格式?如果只是最近的日期,您不能只测试年份是否大于 3000 年吗?
  • @svick - 那行不通,因为年份看起来像 תשס"ח 而不是数字形式

标签: c# date globalization hebrew gregorian-calendar


【解决方案1】:

您可以使用 DateTime 对象的 TryParse 方法 - 如果它在希伯来文化中失败,您可以尝试使用公历:

DateTime myDate = DateTime.Now;
CultureInfo culture = CultureInfo.CreateSpecificCulture("he-IL");
culture.DateTimeFormat.Calendar = new HebrewCalendar(); // To be sure
DateTimeStyles styles = DateTimeStyles.None;

if (DateTime.TryParse("כ\"ה/אייר/תש\"ע", culture, styles, out myDate))
{
   // Hebrew date
}

culture = CultureInfo.CreateSpecificCulture("en-US");

if (DateTime.TryParse("2/30/2010", culture, styles, out myDate))
{
   // US date
}

【讨论】:

  • 你真的试过这个吗? DateTime.Now 不是一种方法。 he-IL 文化也不使用希伯来日历。
  • @Hans Passant - 感谢您指出我对DateTime.Now 的错误。这已得到纠正(我添加了HebrewCalendar)。原样的代码现在可以工作了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-05
  • 1970-01-01
  • 2021-07-04
  • 1970-01-01
  • 2014-03-20
  • 1970-01-01
  • 2013-10-16
相关资源
最近更新 更多