C#连接到Oracle DB日期时间格式
我有一个连接到Oracle后端的.Net webapp。 我有一个基本页面,每个页面都使用它来设置我的C#连接到Oracle DB日期时间格式,c#,oracle,datetime,cultureinfo,C#,Oracle,Datetime,Cultureinfo,我有一个连接到Oracle后端的.Net webapp。 我有一个基本页面,每个页面都使用它来设置我的 protected override void OnPreInit(EventArgs e) { System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-CA"); // Creating the DateTime Informati
protected override void OnPreInit(EventArgs e)
{
System.Globalization.CultureInfo cultureInfo =
new System.Globalization.CultureInfo("en-CA");
// Creating the DateTime Information specific to our application.
System.Globalization.DateTimeFormatInfo dateTimeInfo =
new System.Globalization.DateTimeFormatInfo();
// Defining various date and time formats.
dateTimeInfo.DateSeparator = "/";
dateTimeInfo.LongDatePattern = "dd-MMM-yyyy";
dateTimeInfo.ShortDatePattern = "dd-MMM-yyyy";
dateTimeInfo.MonthDayPattern = "dd/MM";
dateTimeInfo.LongTimePattern = "HH:mm";
dateTimeInfo.ShortTimePattern = "HH:mm";
dateTimeInfo.FullDateTimePattern = "dd-MMM-yyyy";
// Setting application wide date time format.
cultureInfo.DateTimeFormat = dateTimeInfo;
// Assigning our custom Culture to the application.
//Application.CurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentUICulture = cultureInfo;
base.OnPreInit(e);
}
在我的应用程序中,我使用OracleDataAdapter在数据库上执行纯文本查询。
我是这样过滤日期的
"MyDateColumn" = '01-Jan-2000'
这在我的本地电脑上很好用。然而,当我到达服务器时,在我的过滤器中唯一有效的日期是格式
"MyDateColumn" = '2000 Jan 01'
我缺少什么?您应该始终明确地将
日期
列与日期值进行比较,即:
"MyDateColumn" = to_date('01-Jan-2000', 'dd-Mon-yyyy')
切勿依赖隐式日期转换。尝试:
“MyDateColumn”=截止日期('2000年1月1日','DD-MON-YYYY')
不要依赖从字符串到日期的隐式转换。如果dt是DateTime类型的变量,请尝试以下操作 截止日期(“+dt.ToString”(“MM/dd/yyyy HH:MM:ss”)+“,“MM/dd/yyyy HH:mi:ss”)