我想在C#中將自定義公曆日期轉換爲波斯語日期。 例如,我有此內容的字符串:如何將陽曆日期轉換爲波斯日期?
string GregorianDate = "Thursday, October 24, 2013";
現在我想有:
串PersianDate =پنجشنبه2آبان1392;
或
串PersianDate = 1392年8月2日
感謝
我想在C#中將自定義公曆日期轉換爲波斯語日期。 例如,我有此內容的字符串:如何將陽曆日期轉換爲波斯日期?
string GregorianDate = "Thursday, October 24, 2013";
現在我想有:
串PersianDate =پنجشنبه2آبان1392;
或
串PersianDate = 1392年8月2日
感謝
使用PersianCalendar:
string GregorianDate = "Thursday, October 24, 2013";
DateTime d = DateTime.Parse(GregorianDate);
PersianCalendar pc = new PersianCalendar();
Console.WriteLine(string.Format("{0}/{1}/{2}", pc.GetYear(d), pc.GetMonth(d), pc.GetDayOfMonth(d)));
DateTime date = new DateTime(2013, 10, 24);
var calendar = new PersianCalendar();
var persianDate = new DateTime(calendar.GetYear(date), calendar.GetMonth(date), calendar.GetDayOfMonth(date));
var result = persianDate.ToString("yyyy MMM ddd", CultureInfo.GetCultureInfo("fa-Ir"));
在Windows 10中,默認爲波斯文化,此代碼不起作用 –
在windows 10,使用框架4+:
Console.WriteLine(Convert.ToDateTime("1392/08/02",new CultureInfo("fa-IR")));
或
Console.WriteLine(DateTime.Parse("1392/08/02", new CultureInfo("fa-IR")));
您可以使用PersianDateTime:
PM> Install-Package PersianDateTime
的參考:PersianDateTime
您可以使用string.Split()
如果你需要定製。
加起來其他的答案,您可以通過使用PersianDateTime得到第一個:
var gregorianDate = "Thursday, October 24, 2013";
var date = DateTime.Parse(gregorianDate);
var persianDate = new PersianDateTime(date);
var result = persianDate.ToString("dddd d MMMM yyyy");
我建議使用MD.PersianDateTime
,你可以使用它那麼容易,因爲日期時間:
var persianDateTimeNow = PersianDateTime.Now;
persianDateTimeNow.EnglishNumber = true;
Console.WriteLine(persianDateTimeNow.ToString());
我如何設置這個完整的屬性? – AminM