将字符串转换为日期时间

Ish*_*han 21 vb.net date asp.net-3.5

我正在asp.net使用vb 框架3.5开发网站.

我很难将字符串数据转换为日期我尝试使用cdate函数,

我有一个变量sdate,它是一个字符串变量,日期存储在它中,它来自文本框,为dd/mm/yyyy现在我想将此字符串转换为Date变量,因为我需要执行添加日期或减法操作一天.

请指导我如何解决这个问题.我在第3行得到错误,String was not recognized as a valid DateTime.我试图做如下,但错误来了

Dim sdate As String 
Dim expenddt As Date
expenddt = Date.Parse(edate)
expenddt = expenddt.AddDays(-1)
Run Code Online (Sandbox Code Playgroud)

但我得到的错误是

从字符串到类型日期的转换无效.

我如何Date从字符串中获取?

ada*_*ost 45

您应该使用Date.ParseExactDate.TryParseExact使用正确的格式字符串.

 Dim edate = "10/12/2009"
 Dim expenddt As Date = Date.ParseExact(edate, "dd/MM/yyyy", 
            System.Globalization.DateTimeFormatInfo.InvariantInfo)
Run Code Online (Sandbox Code Playgroud)

要么

 Dim format() = {"dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy"}
 Dim expenddt As Date = Date.ParseExact(edate, format,  
     System.Globalization.DateTimeFormatInfo.InvariantInfo, 
     Globalization.DateTimeStyles.None)
Run Code Online (Sandbox Code Playgroud)

要么

Dim format() = {"dd/MM/yyyy", "d/M/yyyy", "dd-MM-yyyy"}
Dim expenddt As Date
Date.TryParseExact(edate, format, 
    System.Globalization.DateTimeFormatInfo.InvariantInfo, 
    Globalization.DateTimeStyles.None, expenddt)
Run Code Online (Sandbox Code Playgroud)


Inc*_*c33 5

没有人提到这一点,但在某些情况下,另一种方法无法识别日期时间...

您可以改用此方法,它将指定的日期和时间的字符串表示形式转换为等效的日期和时间值

string iDate = "05/05/2005";
DateTime oDate = Convert.ToDateTime(iDate);
MessageBox.Show(oDate.Day + " " + oDate.Month + "  " + oDate.Year );
Run Code Online (Sandbox Code Playgroud)


Dou*_*ull 5

尝试查看以下代码是否对您有帮助:

Dim iDate As String = "05/05/2005"
Dim oDate As DateTime = Convert.ToDateTime(iDate)
Run Code Online (Sandbox Code Playgroud)