严格禁止从“字符串”到“日期”的隐式转换

options strict on disallows implicit conversions from 'string' to 'date'

提问人:user21834984 提问时间:6/8/2023 更新时间:6/8/2023 访问量:54

问:

我在 datetime asp.net 方面遇到了问题,我正在尝试将 datetime 用于文本框,我可以在文本框中键入日期时间。当我将文本框转换为日期时间时,它有一个错误。

法典:

Dim startdate As DateTime = Format(CDate(TextBox1.Text), "yyyy-MM-dd")
asp.net vb.net datetime

评论

0赞 SSS 6/8/2023
Format返回 ,但您已定义为 .解决此问题的一种方法是删除该命令。但是,不建议这样做,因为这取决于计算机上的日期设置。StringstartdateDateTimeFormat()CDate
0赞 SSS 6/8/2023
查看 stackoverflow.com/a/30433061/741136
0赞 user21834984 6/8/2023
如果我还想使用 CDate 怎么办
0赞 SSS 6/8/2023
你不能,真的,除非你想做一些字符串的操纵。 不允许您设置日期格式,它让用户在控制面板中执行此操作CDate

答:

0赞 SSS 6/8/2023 #1

我认为您要实现的是转换用户输入的日期。如果是这样,请尝试以下操作:yyyy-MM-dd

Dim startdate As DateTime = DateTime.ParseExact(TextBox1.Text, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)