如何在VB.NET中将字符串日期转换为日期时间 [英] How to convert string date to datetime in VB.NET

查看:1055
本文介绍了如何在VB.NET中将字符串日期转换为日期时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从数据库获取日期,如

 2017年4月27日08:42:41:343 



当我转换为datetime时出现错误:

字符串未被识别为有效的DateTime。



i想要比较日期,这就是我想将字符串转换为日期时间的原因

i也使用

 Timei = DateTime.ParseExact(TimeIn,dd Mmm yyyy hh:mm:ss:mmm,System.Globalization.CultureInfo.InvariantCulture)



但它给出了相同的错误



我尝试过:



每次出勤作为EmployeeAttendance在empAttendanceList 
Dim TimeIn As DateTime
Dim TimeOut As DateTime

如果attendance.TimeOut<> String.Empty然后
TimeIn = Convert.ToDateTime(attendance.TimeIn)
TimeOut = Convert.ToDateTime(attendance.TimeOut)



如果TimeIn> TimeIn Then 
attendance.TimeOut = String.Empty
attendance.DLatitude = String.Empty
attendance.DLongitude = String.Empty
attendance.DAddress = String.Empty
结束如果

解决方案

参见自定义日期和时间格式字符串 [ ^ ]。



缩写月份名称的格式说明符是 MMM (你有 Mmm )。

毫秒的格式说明符是 fff (你有 mmm )。


你应该按如下方式更改行:

 Timei = DateTime.ParseExact(TimeIn,  dd  MMM  yyyy hh:mm:ss: fff ,System.Globalization.CultureInfo.InvariantCulture) 


i am getting date from database like

27 Apr 2017 08:42:41:343


when i convert to datetime it is giving error:

String was not recognized as a valid DateTime.


i want to compare date thats why i want to convert string to datetime
i also use

Timei = DateTime.ParseExact(TimeIn, "dd Mmm yyyy hh:mm:ss:mmm", System.Globalization.CultureInfo.InvariantCulture)


but it is giving same error

What I have tried:

  For Each attendance As EmployeeAttendance In empAttendanceList
                    Dim TimeIn As DateTime
                    Dim TimeOut As DateTime
                  
If attendance.TimeOut <> String.Empty Then
                        TimeIn = Convert.ToDateTime(attendance.TimeIn)
                        TimeOut = Convert.ToDateTime(attendance.TimeOut)


If TimeIn > TimeIn Then
                           attendance.TimeOut = String.Empty
                           attendance.DLatitude = String.Empty
                           attendance.DLongitude = String.Empty
                           attendance.DAddress = String.Empty
                       End If

解决方案

See Custom Date and Time Format Strings[^].

The format specifier for abbreviated month names is MMM (you have Mmm).
The format specifier for milliseconds is fff (you have mmm).


you should Change the line as follows :

Timei = DateTime.ParseExact(TimeIn, "dd MMM yyyy hh:mm:ss:fff", System.Globalization.CultureInfo.InvariantCulture)


这篇关于如何在VB.NET中将字符串日期转换为日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆