Visual Studio изменить формат даты и времени - PullRequest
6 голосов
/ 26 июня 2009

При работе в Visual Studio 2005/2008/2010/1012/2013 даты и время отображаются в формате мм / дд / гггг чч: мм: сс. Есть ли способ изменить его на те же настройки, что и на компьютере ??

Отображаемая дата, которая меня интересует, находится в окне Watch. Моя система не на английском языке, но установка Visual Studio 2005 на английском языке. Поэтому, даже если у меня другой формат даты, этот параметр не влияет на VS.

Tooltip Quickwatch 1 Quickwatch 2

Computer clock

Computer settings

Ответы [ 3 ]

3 голосов
/ 10 марта 2015

Это поведение встроено в отладчик, в конкретном случае, когда он отлаживает программу, написанную на 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) и так далее, имейте в виду, что есть много способов сделать это, поскольку DateTime.ToString () может принимать символы форматирования.

0 голосов
/ 09 мая 2017

В «Панели управления \ Все элементы панели управления \ Регион и язык» на вкладке «Форматы» нажмите кнопку «Дополнительные настройки ...». Отладчик Visual Studio 2008 форматирует даты, используя «Короткую дату:» на вкладке «Дата» в «Настроить формат».

Настройка формата

QuickWatch

0 голосов
/ 10 марта 2015

Учитывая, что затрагивается только .ToString (), вы уверены, что

Thread.CurrentThread.CurrentCulture

не переопределяется или не устанавливается по умолчанию для чего-то отличного от шведской культуры?

...