проверки ниже фрагмент кода,string.Format() DateTime С арабской культуры
namespace TestDateConvertion
{
class Program
{
static void Main(string[] args)
{
DateTime testValue = new DateTime(2013, 12, 15, 15, 33, 44);
CultureInfo culture = new CultureInfo("ar-SA");
string stringValue = string.Format(culture, "{0:d} {0:HH:mm:ss}", testValue);
Console.WriteLine(stringValue);
Console.ReadLine();
}
}
}
Это дает результат, как
22/02/35 15:33:44
Я не понимаю, как это возможно. что делает 35 на выходе
Без проверки, я бы предположил, что культура 'ar-SA' связана с календарем [hijri] (http: //en.wikipedia .org/wiki/Hijri_calendar), в котором декабрь григорианского 2013 года соответствует дате в 1435 году (1435 начинается в том, что является одним из первых дней ноября в григорианском году 2013 года). –
Как культура, которую вы устанавливаете в формате даты в соответствии с HijriCalendar, вы получили этот результат ... год в вашем выходе равен 1435. Это соответствует HijriCalendar – rags
ваш код вызывает исключение для меня. 'Указанное время не поддерживается в этом календаре. Это должно быть между 30.04.19800 00:00 (григорианская дата) и 11/16/2077 23:59:59 (григорианская дата) 'это работа для вас? –