웹 응용 프로그램의 SQL Server에 DateTime
값을 string
으로 저장해야한다고 가정 해 봅니다. 이 웹 응용 프로그램은 LB 뒤에있는 여러 서버에 배포되고 동일한 DB 서버를 공유합니다.SQL Server에 문자열로 DateTime을 저장하는 모범 사례
이 프로젝트는 레거시 프로젝트이며 DateTime
인스턴스에서 간단히 ToString()
이라고 불리는 사람들이 개발했기 때문에 시스템의 culture 설정에 따라 datetime의 형식이 지정됩니다. 날짜 시간을 검색 할 때 간단한 DateTime.Parse()
은 암시 적으로 동일한 문화권 설정으로 올바르게 구문 분석합니다. 나는이 데이터와 기계의 문화 설정 사이의 의존성이 생성으로이 좋은 방법이라고 생각하지 않습니다 그러나 여러의 devs 다른 시간대 설정들이 DateTime
삽입됩니다 경우
, 그것은 의미 다른 형식으로 표시되며이 값이 나중에 구문 분석되어 DateTime
으로 다시 돌아올 때 오류가 발생합니다.
DateTime
의 형식 (예를 들어, 일/월/년)의 통합
표준을 정의하는 것입니다 생각합니다. 그러나이 접근법에 어떤 단점이나 예기치 않은 문제가 있는지 알고 싶으시고 귀하의 통찰력을 높이 평가할 것입니다.
DateTime을 'DateTimeOffset'으로 저장 한 다음 테이블에 계산 된 열을 만들어 적절한 문자열 표현을 자동으로 반환합니다. 'DateTimeOffset'을 사용하면 개발자가 다른 영역에있을 경우 TimeZone 정보가 보존됩니다. –