繁体   English   中英

将字符串转换为datetime vb.net

[英]convert string to datetime vb.net

我需要将字符串转换为日期格式。 要求是如果选择当前月份,则日期应为getdate。 如果选择任何其他月份,则应该是该月的第一个月。 进入的数据是“2010年1月”,“2010年2月”等。 但它应该在01/01/10或02/01/10插入到sql server数据库中

我认为以下内容应该为您完成这项工作:

Dim theDate As DateTime = DateTime.ParseExact(input, "MMMM yyyy", CultureInfo.InvariantCulture)

InvariantCulture确保可以正确解析月份名称。

DateTime.ParseExact应该能够帮助你在VB.Net中

DateTime.ParseExact方法(String,String,IFormatProvider)

DateTime dt = DateTime.ParseExact(dateString,formatString);
dt = (dt.Month == DateTime.Now.Month) ? DateTime.Now : dt;

如果你只调用DateTime.Now一次并在比较之前将它存储在一个变量中,那么你在循环性能中调用这个很多可能会更好,因为DateTime.Now是一个相当昂贵的操作。

如果SQL Server列的类型是DateTime,那么您不需要担心格式,jut传递DateTime对象,它将起作用。

你可以使用这个功能:

Private Function GetDate(ByVal source As String) As DateTime
    Dim converted = DateTime.Parse(source)
    If (converted.Year.Equals(DateTime.Now.Year) And converted.Month.Equals(DateTime.Now.Month)) Then
        GetDate = DateTime.Now
    Else
        GetDate = converted
    End If
End Function

它可以分析通过月份+年份值,如“2010年4月”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM