将日期字符串转换为oracle格式

时间:2014-10-21 16:47:13

标签: vb.net oracle

我试过谷歌甚至这个网站,但我找不到明确的答案..我正在使用vb.net并尝试将用户输入的日期转换为oracle的可行查询字符串..

IE:当前日期:2014年10月16日
产出需要是16-OCT-2014

如何在VB中转换?

3 个答案:

答案 0 :(得分:0)

Dim myDate = Convert.ToDateTime("10/16/2014")
myDate.ToString("dd-MMM-yyyy").ToUpper() ' displayed as 16-OCT-2014

您可以在此处查看更多自定义格式:Custom Date and Time Format Strings

如果您摆脱.ToUpper(),则会显示为16-Oct-2014

注意,您也可以使用带有索引引用的格式字符串String.Format()来实现相同的功能:

String.Format("{0:dd-MMM-yyyy}", myDate).ToUpper() ' also outputs 16-OCT-2014

旁注,只要您使用参数化查询(and you should be),我就会想到您的数据连接应该处理该转换。例如,如果您使用OracleConnection概述here,则可以使用以下帖子中列出的ParameterCollection.Add方法:

答案 1 :(得分:0)

试试这个:

String date = Convert.ToDatetime("10/16/2014").ToString("dd-MMM-yy");

答案 2 :(得分:0)

试试这个:

dim tmpDefaultCultureInfo As New System.Globalization.CultureInfo("en-GB")
dim tmpDateTimeFormatter As New System.Globalization.DateTimeFormatInfo()

tmpDateTimeFormatter = CType(System.Globalization.DateTimeFormatInfo.CurrentInfo.Clone, System.Globalization.DateTimeFormatInfo)
tmpDateTimeFormatter.Calendar = System.Threading.Thread.CurrentThread.CurrentUICulture.Calendar
tmpDateTimeFormatter.FullDateTimePattern = "dd/MM/yyyy HH:mm:ss"

dim tmpOracleDate as string = "TO_DATE('" & String.Format(tmpDefaultCultureInfo, "{0:" & tmpDateTimeFormatter.FullDateTimePattern & "}", yourDateTimeValue) & "','DD/MM/YYYY HH24:MI:SS')"