Я пытаюсь преобразовать конкретную персидскую дату в григорианскую без успеха. Я попытался использовать код ниже, но я получаю сообщение об ошибке компилятора:Преобразование персидской даты в григорианскую дату
DateTime не содержит конструктор, который принимает 4 аргумента.
using System.Globalization;
DateTime dt = new DateTime(year, month, day, new PersianCalendar());
Я также попытался ниже пути, но я получаю ту же персидскую дату (объект в поле ниже кода), что я перешел в ConvertToGregorian
функции, а не григорианский дата:
public static DateTime ConvertToGregorian(this DateTime obj)
{
GregorianCalendar gregorian = new GregorianCalendar();
int y = gregorian.GetYear(obj);
int m = gregorian.GetMonth(obj);
int d = gregorian.GetDayOfMonth(obj);
DateTime gregorianDate = new DateTime(y, m, d);
var result = gregorianDate.ToString(CultureInfo.InvariantCulture);
DateTime dt = Convert.ToDateTime(result);
return dt;
}
Пожалуйста, обратите внимание, что мой CultureInfo.InvariantCulture
- английский язык США.
'CultureInfo.InvariantCulture - английский язык США --- Что? –
@NikhilAgrawal, это не совсем неправильно: «Инвариантная культура нечувствительна к культуре; это связано с английским языком, но не с какой-либо страной/регионом ». (https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture.aspx) – Albireo
Что ваш код работает для меня : 'new DateTime (год, месяц, день, новый PersianCalendar())'. И [MSDN] (https://msdn.microsoft.com/library/sk65c9c1) говорит, что данный конструктор здесь с .NET 1.1. – PetSerAl