2010-07-06 7 views
4

가 나는 다음과 같은 사용자 설정의 app.config에서 정의한 :DateTime 사용자 설정에 밀리 초를 포함하는 방법은 무엇입니까?

<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 datetime 필드와 정확하게 비교할 수 있습니까?

+0

맞춤 날짜/시간 서식 문자열을 사용 하시겠습니까? – Aren

답변

9

아쉽게도 설정에 밀리 초 값을 저장할 수 없습니다. 아래쪽으로 System.Configuration.SettingsPropertyValue.ConvertObjectToString 메서드에서 DateTime 값은 밀리 초를 생성하지 않는 TypeConverter.ConvertToInvariantString 메서드를 사용하여 문자열로 변환됩니다.

정확도를 원하고 사용자 설정에 저장해야하는 경우 밀리 초가 포함 된 사용자 지정 형식을 사용하는 문자열과 같은 다른 매개 변수 유형을 사용해야합니다. 표준 시간 형식에는 밀리 초가 포함되지 않습니다.

+1

아주 간단한 해결책을 가져 주셔서 감사합니다. 형식 문자열을 설정하고 DateTime.Parse를 호출하여 설정을 읽을 때 ToString ('yyyy-MM-dd HH : mm : ss.fff')을 쓸 때 사용했습니다. 매력처럼 작동합니다! – MCS

1

Int64으로 저장하면 형식을 지정하거나 충실하지 않고 DateTime의 전체 값을 보존 할 수 있습니다.

관련 문제