2010-05-09 71 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

相關問題