Как включить миллисекунды в настройку пользователя DateTime? - PullRequest
4 голосов
/ 06 июля 2010

У меня есть следующий пользовательский параметр, определенный в app.config:

<userSettings>
    <MyProject.Properties.Settings>
        <setting name="LastProcessedDate" serializeAs="String">
            <value>07/06/2010 13:05:10</value>
        </setting>
    </MyProject.Properties.Settings>
</userSettings>

Есть ли способ указать, что этот параметр должен быть сериализован с миллисекундами - например, 07/06/2010 13:05:10.181 - чтобы я мог точносравнить его с полем даты и времени в SQL Server?

Ответы [ 2 ]

9 голосов
/ 06 июля 2010

К сожалению, вы не можете сохранить значения миллисекунд в настройках.Глубоко в методе System.Configuration.SettingsPropertyValue.ConvertObjectToString значение DateTime преобразуется в строку с помощью метода TypeConverter.ConvertToInvariantString, который не производит миллисекунды.

Если вы действительно хотите этот уровень точности, и вам необходимоСохраните его в пользовательских настройках, вы должны использовать другой тип параметра, например, строку, используя пользовательский формат, который включает миллисекунды.Ни один из стандартных форматов времени не включает миллисекунды.

1 голос
/ 06 июля 2010

Вы можете попытаться сохранить его как Int64, который сохранит все значение DateTime без каких-либо проблем с форматированием или потерей точности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...