У меня возникла странная проблема. Если для параметров сервера Region and Language
установлено значение English (United States)
, то нет проблем с объектами, содержащими дату и время. Но когда я меняю его в свои страны local Dutch (Belgium)
У меня возникают проблемы в некоторых сценариях PowerShell.Формат даты PowerShell не принят в SQL
Есть ли где-то переменная в PowerShell, которая должна быть установлена, чтобы исправить это? Или я постоянно использую стандартные форматы даты на сервере?
Мы используем, например, SQL module
, предоставленный Доном Джонсом для заполнения базы данных SQL. Эта линия выдает ошибку, когда он установлен на голландском языке, но не тогда, когда он установлен на английском языке:
if ($properties[$property] -eq 'datetime2') { [datetime]$prop = $result.GetDateTime($result.GetOrdinal($property)) }
Единственное, что я сделать, чтобы получить дату на Get-Date без чего-либо. И он генерирует эту ошибку при установке на Dutch (Belgium)
:
Exception calling "ExecuteNonQuery" with "0" argument(s): "Conversion failed when converting date and/or time from char
acter string."
я испытал те же проблемы при создании материала для Excel листов. Он также жалуется на формат даты.
Посмотрите эту тему раз http://stackoverflow.com/questions/2379514/powershell-formatting-values-in-another-culture – Rahul
Спасибо Рахул, я знал об этом обходном пути. Но почему он не просто принимает '[datetime]' так же, как используется 'Get-Date'? Он должен нормально работать без добавления дополнительных функций, нет? – DarkLite1
AFAIK, по умолчанию должен быть формат 'en-us'. вы просто пытаетесь отформатировать результат 'get-date'? – Rahul