كيف يمكنني تحديد ما إذا كانت السلسلة عبارة عن تاريخ عبري أو غريغوري؟

StackOverflow https://stackoverflow.com/questions/2798208

سؤال

لدي قيمة سلسلة تحتوي على أو تاريخ عبري ، أو تاريخ غريغوري. كيف يمكنني تحديد ما إذا كان غريغوري أو العبرية في C#؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام ال TryParse طريقة DateTime كائن - إذا فشلت مع الثقافة العبرية ، يمكنك تجربة التقويم الغريغوري:

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
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top