2016-08-02 2 views
1

JS 밀리 초 충실도 1/1000으로 기록되는 JS datetime 스탬프가 있습니다. 내가 .NET System.DateTime struct을 이용하여 제가 는 SQL에 저장되는 밀리 초를보고하지 않은밀리 초 단위의 SqlDateTime에 대한 자바 스크립트 datetime 스탬프

(나는 정밀도가 1/300 이해 SQL을 사용하여).

"메시지": C ​​#을 가진

... 
[ResponseTimeStamp] DATETIME   NOT NULL, 
... 

는 지금

SqlDateTime dtDateTime = new SqlDateTime(1970, 1, 1, 0, 0, 0, 0); 
qr.ResponseTimeStamp = SqlDateTime.Add(dtDateTime, item.Responses.TimeCompleted); 

문제를 System.Data.SqlTypes.SqlDateTime를 사용하는 것을 시도하고있다

//TimeCompleted is epoc 

    DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); 
    qr.ResponseTimeStamp = dtDateTime.AddMilliseconds(item.Responses.TimeCompleted); 

메소드가 예외를 던지고 있다는 점이다 : "에 가장 적합한 오버로드 된 메서드'System.Data.SqlTypes.SqlDateTime.Add (System.Data.SqlTypes.SqlDateTime, System.TimeSpan)'

나는 epoc에서 TimeSpan로 변환 시도했다, 그러나 서명은 시간 범위를 필요로하는 전 생성하지만 여전히 예외가 발생합니다.

TimeSpan newSpan = new TimeSpan(0, 0, 0, 0, item.Responses.TimeCompleted); 

은 'System.Data.SqlTypes.SqlDateTime.Add (System.Data.SqlTypes.SqlDateTime, System.TimeSpan)'에 가장 적합한 오버로드 된 메서드는 일부 잘못된 인수가

+0

SQL Server ** 2008 ** 이상을 사용하는 경우 대신 'DATETIME2 (n)'을 사용하십시오. - 정확도는 100ns (필요한 경우)이므로 정밀한 밀리 초를 처리 할 수 ​​있습니다 –

답변

2

시간을 밀리 초로 저장해야하는 경우 데이터에 datetime2 또는 datetimeoffset을 사용해야합니다.

두 가지 유형 모두 3 밀리 초의 해상도 만 갖는 DateTime과 달리 밀리 초까지 정확도를 허용합니다.

관련 문제