2010-06-08 4 views
0

날짜/시간 필드가 있습니다. 날짜/시간 필드가 범용 시간 즉 UTC 시간을 저장하는 데이터베이스에 있습니다. 클라이언트 시간대 및 형식으로 클라이언트 시스템에서 날짜 시간을 표시하려고합니다.서버 datetime을 클라이언트 컴퓨터로 변환하는 방법 웹 사이트의 날짜/시간

예 : 미국에서 온 누군가가 사이트의 데이터베이스 필드를 업데이트하고 UTC 형식으로 저장됩니다. 인도 출신의 사람이 사이트를 방문합니다. 내가 원하는 것은 인도 사람이 IST에서 시간을 보거나 호주에서 현지 시간 기계 형식으로 서버 시간 형식 및 영역을 볼 수 없다는 것입니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까 ?? 코드 스 니펫을 붙여 넣으십시오.

고맙습니다! 귀하의 사이트가있는 경우

+0

가장 좋은 방법은 언어 날짜/시간 함수를 사용하는 것입니다. 무슨 언어로 얘기할까요? (: – hudolejev

+0

하지만 서버에 클라이언트 표준 시간대를 보내는 방법은 무엇입니까? 나는 C# . – Shailendra

+1

을 사용하고 있습니다. 올바른 시간대로 시간을 표시하는 것은 클라이언트 응용 프로그램의 작업처럼 보입니다. 서버 측에서 모든 시간 값을 유지해야합니다. 가능한 경우 UTC. – hudolejev

답변

1

자바의 예는 당신이 서버에서 UTC 시간 문자열을 얻고, 기본 시간대 및 날짜 패턴을 사용하여 클라이언트 측에서 포맷, 아이디어는 그

String utcTimePattern = "yyyy-MM-dd HH:mm:ss Z"; // Defined in database or whatever 
String timeString = "2010-09-08 12:51:14 +0000"; // Event time kept in database 

SimpleDateFormat timeFormat = new SimpleDateFormat(utcTimePattern); 

// Parse server time and get Date object with default settings 
Date localTime = timeFormat.parse(timeString); 

System.out.println(localTime); 

에 만족합니다. "M/DD/YYYY"

출력 SP : 내 컴퓨터에서 출력 내가이 당신이 출력 우리를 필요로 문자열 형식이어야한다 당신이의 outpu를 작동 희망

Wed Sep 08 15:51:14 EEST 2010 
1

사용자 내가 자바 스크립트에서의 꽤 의존 생각하지만 그렇지 않으면 내가 브라우저에서 시간대를 얻을 수있는 방법이 있다고 생각합니다, 당신은 그들이 적절한 시간대를 선택 설정을 할 수 있습니다 계정

1

How to display the correct time?

당신이 찾고 정확히 답을 가지고 :이 토론을 확인

.


또 다른 전략은 클라이언트의 IP를 읽고 국가 및 위치로 매핑 한 다음 가능한 시간대를 식별하는 것입니다. 정확하지 않을 수도 있지만 머신/브라우저 시간/위치 설정이 완전히 잘못되었다고해도 대부분 작동한다는 장점이 있습니다.

또는 사용자가 자신의 위치를 ​​선택하고 새로운 요청이있을 때마다 쿠키를 제출하도록 선택할 수 있습니다.

0

입니다 : "dd/M/yyyy"

System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern 
관련 문제