2010-05-09 25 views
2

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

+3

你能为日期字符串后的样品? – Oded 2010-05-09 16:16:23

+0

以什么格式?如果只是最近的日期,难道你不能仅仅测试一年是否比3000更大? – svick 2010-05-09 16:17:59

+0

@svick - 这不会起作用,因为今年看起来像是安全的,而不是数字形式 – Rubys 2010-05-09 22:18:20

回答

6

可以使用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 
} 
+0

您是否真的尝试过这种方式?DateTime.Now不是一种方法,也不是he-IL文化使用希伯来语日历。 – 2010-05-09 16:43:18

+0

@Hans Passant - 感谢您使用'DateTime.Now'指出我的错误。这已得到纠正(并且我添加了'HebrewCalendar')。代码现在可以工作。 – Oded 2010-05-09 17:05:12

+0

它的工作原理非常好,谢谢。 ! – 2010-05-09 20:14:41

相关问题