如何将公历日期转换为波斯日期?
How convert Gregorian date to Persian date?
我想在 C# 中将自定义公历日期转换为波斯日期。
例如,我有一个包含以下内容的字符串:
string GregorianDate = "Thursday, October 24, 2013";
现在我想要:
string PersianDate = پنجشنبه 2 آبان 1392 ;
或
string PersianDate = 1392/08/02
谢谢
使用 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"));
在windows10,使用框架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
如果需要自定义,可以使用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");
以下代码应该在 .net 4+ 中工作:
DateTime date=Convert.ToDateTime("2020-07-12T19:30:00.000Z");
string persianDateString = date.ToString("yyyy/MM/dd",new CultureInfo("fa-IR"));
persianDateString
值将是:
1399/04/23
您可以使用此方法将 DateTime
转换为伊朗时间:
DateTime timeInIran = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTimeToConvert, "Iran Standard Time" );
我想在 C# 中将自定义公历日期转换为波斯日期。 例如,我有一个包含以下内容的字符串:
string GregorianDate = "Thursday, October 24, 2013";
现在我想要:
string PersianDate = پنجشنبه 2 آبان 1392 ;
或
string PersianDate = 1392/08/02
谢谢
使用 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"));
在windows10,使用框架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
如果需要自定义,可以使用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");
以下代码应该在 .net 4+ 中工作:
DateTime date=Convert.ToDateTime("2020-07-12T19:30:00.000Z");
string persianDateString = date.ToString("yyyy/MM/dd",new CultureInfo("fa-IR"));
persianDateString
值将是:
1399/04/23
您可以使用此方法将 DateTime
转换为伊朗时间:
DateTime timeInIran = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTimeToConvert, "Iran Standard Time" );