在Visual Studio 2005/2008/2010/1012/2013中工作时,日期和时间以mm / dd / yyyy hh:MM:ss格式显示。 有没有办法将其更改为与计算机相同的设置??
我感兴趣的显示日期位于Watch窗口中。我的系统是非英语的,但Visual Studio 2005的安装是英文的。因此,即使我有不同的日期格式,此设置也不会影响VS。
答案 0 :(得分:3)
这种行为内置于调试器,在特定情况下它正在调试用VB.NET编写的程序。从屏幕截图中#
的外观可见。没有什么特别的,调试器在许多情况下都努力使其输出与您在程序中编写它的方式相同。以C#为例,包含嵌入式双引号的字符串将在它们前面显示反斜杠。实际上并不存在于字符串中,但在源代码中声明这样的字符串文字时是必需的。
因此,VB.NET语言规则适用于您看到的文字字符串的格式。在语言规范的第2.4.6章中描述,不文化敏感。它当然不可能,当你在中国的同事编写它时,你的源代码不会生成不同的程序。我只是复制/粘贴生产规则:
DateLiteral ::= # [ Whitespace+ ] DateOrTime [ Whitespace+ ] #
DateOrTime ::=
DateValue Whitespace+ TimeValue |
DateValue |
TimeValue
DateValue ::=
MonthValue / DayValue / YearValue |
MonthValue – DayValue - YearValue
TimeValue ::=
HourValue : MinuteValue [ : SecondValue ] [ WhiteSpace+ ] [ AMPM ] |
HourValue [ WhiteSpace+ ] AMPM
MonthValue ::= IntLiteral
DayValue ::= IntLiteral
YearValue ::= IntLiteral
HourValue ::= IntLiteral
MinuteValue ::= IntLiteral
SecondValue ::= IntLiteral
AMPM ::= AM | PM
所以它总是月/日/年。如果您需要查看将其转换为字符串时的外观,则必须在监视表达式中使用适当的字符串转换。像CStr(Date.Now)
etcetera一样,要注意有很多方法可以做到这一点,因为DateTime.ToString()可以使用格式化字符。
答案 1 :(得分:0)
正如Benjol建议说明你所看到的日期本来会更好,但无论日期和时间在哪里展示,我都把钱放在这个答案上:
日期以给定的格式显示,因为你告诉它这样做。更具体地说,它是您的操作系统日期时间格式设置,它控制着大多数地方,包括Visual Studio。
要确认这一点,请更改日期时间的格式选项(控制面板>区域设置),看看它是否有效。
答案 2 :(得分:0)
只考虑.ToString()受影响,你确定
Thread.CurrentThread.CurrentCulture
是不是被覆盖或违反了与瑞典文化不同的东西?
答案 3 :(得分:0)
在"控制面板\所有控制面板项目\地区和语言",在"格式"选项卡,单击"其他设置..."按钮。 Visual Studio 2008调试器使用"短日期格式化日期:"来自"日期" "自定义格式"。
的标签