문제

사용자별로 시간을 번역하려면 웹 응용 프로그램이 필요한 경우 모든 날짜/시간 필드에 타임 스탬프를 사용하지 않는 이유는 무엇입니까? 타임 스탬프 값은 UTC에 저장되고 검색 될 때 연결을 위해 설정된 시간대로 변환됩니다.

IRC 에서이 질문을했고, MySQL 문서를 읽고, Google을 광범위하게 검색하고, 동료에게 물어 보았지만, 타임 스탬프를 사용하지 않는 강력한 이유를 아직 찾지 못했습니다.

참고 : 타임 스탬프는 1970-2038의 제한된 범위를 가지고 있음을 이해합니다. 내 경우에는 문제가되지 않습니다. 또한 MySQL과 함께 PHP를 사용하고 있습니다.

도움이 되었습니까?

해결책

DateTime은 데이터에 사용하는 임의의 날짜 및 시간을위한 것입니다.

타임 스탬프는 시간을 자동으로 업데이트하려는 경우입니다. 행이 언제 삽입/업데이트되었는지 알고 싶다면 타임 스탬프를 사용하십시오.

또한 타임 스탬프는 저장 UTC에서 - 쿼리의 일부로 다시 전송되기 전에 서버의 로컬 시간대로 변환됩니다.

귀하의 경우 DateTime을 사용하는 것이 좋습니다. UTC가 걱정된다면 괜찮습니다. 현지 시간을 사용하지 않고 UTC에서 날짜를 만드십시오. 사용 UTC_TIMESTAMP.

다른 팁

나는 당신의 대답이 여기에 있다고 생각합니다.

타임 스탬프는 1970-2038의 제한된 범위를 가지고 있음을 이해합니다. 내 경우에는 문제가되지 않습니다.

나는 프로젝트의 장수에 대한 가정을 조심스럽게 할 것입니다 특히 데이터베이스 스키마와 관련하여. 데이터베이스는 사용한 응용 프로그램이 사라진 후에도 제자리에 있고 사용중인 경향이 있습니다.

Randalpho의 대답은 많은 사실에 대해 잘못되었습니다!

타임 스탬프는 생성 또는 업데이트에 대해 자동으로 업데이트 할 필요가 없습니다.

또한 타임 스탬프는 Serever가 아닌 고객의 현지 시간으로 번역됩니다.

DateTime의 MySQL 문서를보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top