加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net – VisualBasic月函数不一致

发布时间:2020-12-17 07:29:30 所属栏目:百科 来源:网络整理
导读:我正在使用VB.NET在Web应用程序中工作.还混合了VisualBasic代码,特别是Date变量和VB的Month函数. 问题是这部分: Month("10/01/2008") 在服务器上,我得到10(十月)作为月份(这应该是正确的).在我的机器上,我得到1(1月)(这应该是错误的). 我的两个同事(在他们
我正在使用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的想法绝对是更好的解决方案,恕我直言.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读