C# 如何将公历日期转换为波斯日期?
我想将自定义的公历日期转换为C#中的波斯日期。 例如,我有一个包含以下内容的字符串:C# 如何将公历日期转换为波斯日期?,c#,date,gregorian-calendar,date-conversion,persian,C#,Date,Gregorian Calendar,Date Conversion,Persian,我想将自定义的公历日期转换为C#中的波斯日期。 例如,我有一个包含以下内容的字符串: string GregorianDate = "Thursday, October 24, 2013"; 现在我想要: 字符串PersianDate=پنجشنبه 2 آبان 1392 ; 或 字符串PersianDate=1392/08/02 谢谢使用波斯卡伦达: string GregorianDate = "Thursday, October 24, 2013"; DateTime d = Dat
string GregorianDate = "Thursday, October 24, 2013";
现在我想要:
字符串PersianDate=پنجشنبه 2 آبان 1392 ;
或
字符串PersianDate=1392/08/02
谢谢使用波斯卡伦达:
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)));
在windows 10中,使用framework 4+:
Console.WriteLine(Convert.ToDateTime("1392/08/02",new CultureInfo("fa-IR")));
或
您可以使用PersianDateTime:
PM> Install-Package PersianDateTime
参考资料:
如果需要自定义,您可以使用
string.Split()
。将其他答案相加,您可以使用以下方法获得第一个答案:
Fowling代码应该在.net 4+中工作:
DateTime date=Convert.ToDateTime("2020-07-12T19:30:00.000Z");
string persianDateString = date.ToString("yyyy/MM/dd",new CultureInfo("fa-IR"));
persiandTestRing
值应为:
1399/04/23
在Windows10中,默认情况下使用波斯文化,此代码将不起作用。在答案中可以看到使用示例。
var gregorianDate = "Thursday, October 24, 2013";
var date = DateTime.Parse(gregorianDate);
var persianDate = new PersianDateTime(date);
var result = persianDate.ToString("dddd d MMMM yyyy");
DateTime date=Convert.ToDateTime("2020-07-12T19:30:00.000Z");
string persianDateString = date.ToString("yyyy/MM/dd",new CultureInfo("fa-IR"));
1399/04/23