Reza kavian Ответов: 2

Неверное значение datetime в команде SQL select


когда я использую команду select для поля datetime,отображаемое значение равно incorrect.my системная currentculture-это "fa-IR", и я использую DateTime.Теперь для вставки в поле базы данных.

Что я уже пробовал:

я использую календарь для преобразования даты и времени между Персидским и английским календарем.

F-ES Sitecore

Пока вы сохраняете поле в виде даты в SQL и DateTime в .net, вы можете использовать метод ToString вашей переменной DateTime, чтобы показать дату в нужном формате, или если вы используете компонент календаря, то где-то должно быть свойство, которое позволяет вам установить нужный формат.

Maciej Los

Покажи свой код!

2 Ответов

Рейтинг:
2

MadMyche

Базы данных SQL фактически хранят и обрабатывают значение datetime значения как числовые значения.

То, как они отображаются, зависит от отдельного клиента SQL; он может наследовать его от операционной системы или иметь свои собственные настройки для него.
Если вы используете среду SQL Server Management Studio, эти параметры находятся внутри
Tools > Options... > Environment > International Settings > Language


Рейтинг:
1

ishan_shah

Используя следующее решение вы можете работать с DateTime и отображать его без получения исключения:

class YourProgram
{
	static void Main(string[] args)
	{
		CultureInfo cinfo=new CultureInfo("fa-Ir");
		cinfo.DateTimeFormat.Calendar=new ParsianCalender();
		Thread.CurrentThread.CurrentCulture=cinfo;
		string str=DateTime.Now.ToString("yyyy/MM/dd");
	}
}


Richard Deeming

Как это должно быть решением вопроса о том, что такое хранение дат в базе данных?