当前位置 : 主页 > 编程语言 > c语言 >

vb.net – VisualBasic月函数不一致

来源:互联网 收集:自由互联 发布时间:2021-06-24
我正在使用VB.NET在Web应用程序中工作.还混合了VisualBasic代码,特别是Date变量和VB的Month函数. 问题是这部分: Month("10/01/2008") 在服务器上,我得到10(十月)作为月份(这应该是正确的).在我的机
我正在使用VB.NET在Web应用程序中工作.还混合了VisualBasic代码,特别是Date变量和VB的Month函数.

问题是这部分:

Month("10/01/2008")

在服务器上,我得到10(十月)作为月份(这应该是正确的).在我的机器上,我得到1(1月)(这应该是错误的).

我的两个同事(在他们自己的机器上)得到不同的答案,一个得到1,另一个得到10.

问题是,为什么会这样呢?

在我的结尾,我可以通过使用.NET的DateTime的Parse(或ParseExact)函数来强制所有内容为“dd / MM / yyyy”格式来解决问题.这有效.我只是想知道为什么会有不一致.

额外信息:我知道Month函数的参数应该是Date变量.代码使用字符串作为参数,Option Strict关闭,开发人员主要让VB​​做自己的转换事情. (遗留代码维护有很多惯性…)

如果有帮助,服务器上的Microsoft.VisualBasic.dll版本为7.10.6310.4(在Framework文件夹v1.1.4322下).我的(以及我的2位同事)机器上的版本是7.10.6001.4.

编辑:已设置为dd / MM / yyyy格式(短日期格式)的所有计算机的区域设置.

这通常与区域设置有关,更具体地说与日期/时间格式有关.如果您设置这些格式,使它们在您正在测试的计算机上完全相同,则结果应该是一致的.

你使用ParseExact的想法绝对是更好的解决方案,恕我直言.

网友评论