我试过谷歌甚至这个网站,但我找不到明确的答案..我正在使用vb.net并尝试将用户输入的日期转换为oracle的可行查询字符串..
IE:当前日期:2014年10月16日
产出需要是16-OCT-2014
如何在VB中转换?
答案 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')"