如何在DateTime用户设置中包含毫秒?

时间:2010-07-06 18:38:34

标签: c# datetime configuration

我在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 个答案:

答案 0 :(得分:9)

不幸的是,您无法在设置中保存毫秒值。在System.Configuration.SettingsPropertyValue.ConvertObjectToString方法的内部,使用TypeConverter.ConvertToInvariantString方法将DateTime值转换为字符串,该方法不会产生毫秒数。

如果您确实需要这种准确度并且必须将其保存在用户设置中,则应使用包含毫秒的自定义格式的字符串之类的其他参数类型。没有标准时间格式包括毫秒。

答案 1 :(得分:1)

您可以尝试将其存储为Int64,这样可以保留DateTime的整个值,而不会出现任何格式问题或失真。