문제

  1. 내 서버가 GMT+7,그렇다면 이동하는 다른 서버가 다른 GMT 시간대,모든 날짜를 db 에 저장됩니다드시 보장되지는 않습니다
  2. 예 Q1 가 올바른 방법에 대해 나는 저장 날짜 GMT+0 시간대에 표시 사용자 지정 GMT 시간대를 선택하여 각 구성원
  3. 가 어떻게 날짜 GMT+0java
도움이 되었습니까?

해결책

1)견적서 javadocs,Java 초의 타임 스탬프가

차이 측정을 밀리초 단위 사이에,현재 시간 자정,January1,1970UTC.

따라서,타임 스탬프가 UTC/GMT 는 경우에,당신은 데이터베이스에 저장이 날이 올바른 것이 아무리 시간이 지역의 서버입니다.

2)포맷에 대한 타임 스탬프 표시에 따라 시간이 될 것이 올바른 접근 방식이다.

3)새로 만드는 java.util.Date 인스턴스 및 호출 getTime()얻을 것이다 당신은 타임 스탬프 GMT+0 에서 Java.

다른 팁

추가 마크의점,당신은 java.util.날짜할 수 있습니다"convert"그 어떤 시간대(으로 사용자가 선택).여기에는 코드 샘플에서 그루비(에서 작동합니다 Java 약간의 개조):

// This is a test to prove that in Java, you can create ONE java.util.Date
// and easily re-display it in different TimeZones
fmtStr = "MM/dd/yyyy hh:mm aa zzz"
myDate = new java.util.Date()
sdf = new java.text.SimpleDateFormat(fmtStr)

// Default TimeZone
println "Date formatted with default TimeZone: " + sdf.format(myDate)

// GMT
sdf.setTimeZone(TimeZone.getTimeZone("GMT"))
println "Date formatted with GMT TimeZone: " + sdf.format(myDate)

// America/New_York
sdf.setTimeZone(TimeZone.getTimeZone("America/New_York"))
println "Date formatted with America/New_York TimeZone: " + sdf.format(myDate)

// PST
sdf.setTimeZone(TimeZone.getTimeZone("PST"))
println "Date formatted with PST TimeZone: " + sdf.format(myDate)

할 때 기본적으로 얻기에서 날짜 java 그것의 현재 시간대에 사용할 수 있습니다 시간대 클래스를 시간대의 시스템은 시간을 실행합니다.대부분의 데이터베이스를 지원하는 날짜를 저장할 수 있습 시간대,아마가 될 것으로 판단된다면 방법이지만,정확히 무슨 형식이 수집하는 데이터베이스를 사용할.

는 것이 좋습니다 것입니다면 사용하는 날짜만으로"홀더"그리고는 제안 당신을 사용하여 일정 경우 대신 합니다.을 얻을 달력에 GMT 시간 영역만을 사용:

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT+00"))

달력이 좋은 거래를 제공하의 혜택으로 작업할 때 시간과 날짜를 입력하기만 하면 됩니다.예를 들면 시간을 추가,이은 간단하다:

cal.add(Calendar.HOUR, 1);

마지막으로,필요로 할 때 당신은 날 당신은 이것을 사용:

Date date = cal.getTime();

For Q3 사용하십시오 ZonedDateTime 클래스입니다.

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