인터넷에서 몇몇 네티즌이 최근 인도 SP들과 통계 자료를 확인하는 과정에서 통계에 타임존 문제가 있다는 것을 발견했다고 하는 것을 봤습니다. 데이터. 이 기사에서는 위의 문제를 주로 다룹니다. 특정 날짜의 통계 결과를 얻기 위해 상대방에게 제공하는 인터페이스는 중국 시간대에 따라 제어됩니다. 다행스럽게도 데이터베이스에는 국제 타임스탬프가 저장되어 있으므로 인터페이스에서 호출자의 시간대만 확인하면 정확한 통계 결과 정보를 얻을 수 있습니다.
해결 방법은 다음과 같습니다. 즉, SimpleDateFormat 개체를 기반으로 사용해야 하는 현재 시간대를 명확히 해야 합니다.
SimpleDateFormat.setTimeZone(TimeZone);
// Java: long timeMs = System.currentTimeMillis(); System.out.println("long = " + timeMs); // current time zone SimpleDateFormat default = new SimpleDateFormat("yyyy-MM-dd HH:mm"); System.out.println(default.format(timeMs)); // +8:00 time zone SimpleDateFormat chinaFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); chinaFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); System.out.println("GMT+8:00 = " + chinaFormat.format(timeMs)); // +5:30 time zone SimpleDateFormat indiaFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); indiaFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:30")); System.out.println("GMT+5:30 = " + indiaFormat.format(timeMs));
위 방법을 사용하면 실제로 시간대 문제를 해결할 수 있습니다. 시간 테이블을 가져오고 시간 테이블에는 시간당 하나의 레코드가 있습니다. 인도 시간대는 GMT+5:30입니다. 현재 테이블 구조를 기준으로 하면 30분 데이터 편차 문제가 있으므로 이 문제를 해결하기 위해 시간 테이블의 통계 단위를 0.5시간으로 수정합니다. 시간.
요약:
이 블로그는 시간대에 대한 핵심 솔루션에 대해 간략하게 설명합니다. 이 솔루션을 사용하는 전제는 데이터베이스에 저장된다는 것입니다. 국제 타임스탬프는 입니다! ! !
절대 타임스탬프 기반의 시간 저장만 가능하므로 시간대 문제가 전혀 없습니다! ! ! 시간대는 표시 문제일 뿐입니다! ! !
매일 조금씩 발전해보세요~
[추천 강좌: MySQL 동영상 튜토리얼]
위 내용은 시간 정보 저장에 대한 MySQL의 제안의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!