Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Windows 10和Windows 7之间的日期差异_Vb.net_Datetime - Fatal编程技术网

Vb.net Windows 10和Windows 7之间的日期差异

Vb.net Windows 10和Windows 7之间的日期差异,vb.net,datetime,Vb.net,Datetime,我最近问了一个问题: 这个问题得到了回答,这种方法非常有效。直到我试着在Windows10机器上运行它时,我才明白这一点。然后我得到一个错误: 字符串未被识别为有效的日期时间 通过“String”,我假设调试器引用的是dd/MM/yy。有人知道为什么会这样吗?如果您不想浏览链接的问题,以下是代码: Tabledate = DateTime.ParseExact("30/11/12", "dd/MM/yy", CultureInfo.InvariantCulture) 更新1 感谢您对实际计算

我最近问了一个问题:

这个问题得到了回答,这种方法非常有效。直到我试着在Windows10机器上运行它时,我才明白这一点。然后我得到一个错误:

字符串未被识别为有效的日期时间

通过“String”,我假设调试器引用的是
dd/MM/yy
。有人知道为什么会这样吗?如果您不想浏览链接的问题,以下是代码:

Tabledate = DateTime.ParseExact("30/11/12", "dd/MM/yy", CultureInfo.InvariantCulture)
更新1

感谢您对实际计算机时间的评论,我刚刚将window的10个短日期格式从“dd/MM/yyyy”更改为“dd/MM/yy”,代码运行良好


现在我不知道其他人的电脑可能采用什么格式,所以我想我的下一个方法是研究是否可以获得当前电脑的格式,然后将该格式用作变量,我想这与文化有关,它似乎是传递的日期格式:“dd/MM/yy”

试试这个:

DateTime.ParseExact(“2012年11月30日”,“d”,CultureInfo.InvariantCulture)


假设
Tabledate
声明为
DateTime
,则该代码在我的Windows 10计算机上运行时不会出错。分配给
Tabledate
的值是“11/30/2012 12:00:00 AM”(在我的计算机默认的美国文化中)。通过“字符串”,我假设调试器引用的是
dd/MM/yy
否,它引用的是“30/11/12”。如果使用
DateTime.Parse()
TryParse
,则它们将尝试使用为区域性注册的所有日期时间格式。使用
InvariantCulture
格式设置应该无关紧要,这不是只返回日期吗?此代码将引发异常,因为“30/11/12”不是形式为“d”(月日)的日期。