简体   繁体   中英

Convert to dateTime from string (arabic culture to english)

string strHijdt ="29-02-1435";

    DateTime hdt = DateTime.ParseExact(strHijdt, "dd/MMM/yyyy HH:MI24",
    CultureInfo.InvariantCulture);

Getting error while convert to string("29-02-1435") to datetime

2/1435 has 28 days only

so, below will work

string aa="28-02-1435";
DateTime hdt = DateTime.ParseExact(aa, "dd-MM-yyyy", CultureInfo.InvariantCulture);
Console.WriteLine(hdt.ToLongDateString());

DEMO

since you have given input as 29-02-1435 even you provide correct date time format ( dd-MM-yyyy ) you will get error for the invalid date

Two problems here: 1. As mentioned above, expected format for does not match string (there is no time, different separator) 2. If your date string is in Hijri calendar, you should either provide correct culture explicitly or use system culture (pass null for IFormatProvider):

string strHijdt = "29-02-1435";
var culture = CultureInfo.GetCultureInfo("ar-SA");
DateTime hdt = DateTime.ParseExact(strHijdt, "dd-MM-yyyy", culture);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM