Я не думаю, что вы можете сделать это таким образом. На самом деле, был бы более простой способ переопределить календарь по умолчанию:
CultureInfo thaiCulture = CultureInfo.CreateSpecificCulture("th-TH");
Console.Out.WriteLine(DateTime.Now.ToString(thaiCulture));
DateTimeFormatInfo thaiDateTimeFormat = thaiCulture.DateTimeFormat;
thaiDateTimeFormat.Calendar = new GregorianCalendar();
Console.Out.WriteLine(DateTime.Now.ToString(thaiCulture));
Это работает для моего консольного приложения. Единственная проблема, это, вероятно, не будет работать для вас. Зачем? Я думаю, что «Серверная отчетность SSRS», которую вы упомянули, работает как другой процесс, и я могу ошибаться, но я почти уверен, что вы можете переопределить настройку CultureInfo только для текущего процесса. Я не думаю, что это можно (и нужно) сделать глобально.
Кроме того, я не знаю специфики используемого вами решения для создания отчетов, так что оно может оказаться бесполезным, но не могли бы вы просто передать уже отформатированные строки даты и времени в качестве параметров? Это был бы способ решить эту проблему, то есть Crystal Reports. В худшем случае будет записывать отформатированные строки в базу данных.