나는 예를 들어, 모든 페이지에 날짜 스탬프를 표시하는 웹 응용 프로그램이 있습니다- 클라이언트 측을
2009년 12월 12일 오후 6시
동적으로 사용자의 시간대를 감지하고 JavaScript를 사용하여 표시를 변경하고 싶습니다.
그래서 뉴욕의 사용자는 볼 것입니다 :2009년 12월 12일 오후 6시
는 캘리포니아 사용자가 볼 것이지만 :
2009년 12월 12일 3 : 00 pm
제안 사항?
나는 예를 들어, 모든 페이지에 날짜 스탬프를 표시하는 웹 응용 프로그램이 있습니다- 클라이언트 측을
2009년 12월 12일 오후 6시
동적으로 사용자의 시간대를 감지하고 JavaScript를 사용하여 표시를 변경하고 싶습니다.
그래서 뉴욕의 사용자는 볼 것입니다 :2009년 12월 12일 오후 6시
는 캘리포니아 사용자가 볼 것이지만 :
2009년 12월 12일 3 : 00 pm
제안 사항?
당신이 멋진 "점진적 개선 '와 함께 할 수있는 방법입니다 UTC 등). 그런 다음로드시 현지 시간으로 교체하십시오 (원래 시간대가 제공되면 JavaScript로 자동 처리됨).
<div id="timestamp">December 12, 2009 6:00 pm GMT</div>
<script type="text/javascript">
var timestamp = document.getElementById('timestamp'),
t = new Date(timestamp.innerHTML),
hours = t.getHours(),
min = t.getMinutes() + '',
pm = false,
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
if(hours > 11){
hours = hours - 12;
pm = true;
}
if(hours == 0) hours = 12;
if(min.length == 1) min = '0' + min;
timestamp.innerHTML = months[t.getMonth()] + ' ' + t.getDate() + ', ' + t.getFullYear() + ' ' + hours + ':' + min + ' ' + (pm ? 'pm' : 'am');
</script>
IE가 해당 형식을 올바르게 구문 분석하지 않을 것으로 예상됩니다. – Bergi
@Bergi - It def는 IE8 + –
에서 작동합니다. IE 11에서는 작동하지 않습니다. –
Date.getTimeZoneOffset()을 사용하면 GMT에서 로컬 오프셋을 가져올 수 있습니다.
var date = new Date();
var offset = date.getTimezoneOffset();
거기에서 그 SMOP. 개체를 사용하면 사람이 읽을 수있는 날짜를 얻으려면 date.toDateString
으로 전화 할 수 있습니다. 서버 측에 필요한 경우 자바 스크립트에서 GET 또는 POST를 사용하여 서버에 오프셋을 보냅니다.
날짜 형식은 또 다른 이야기입니다. Javascript는 많이 제공하지 않습니다. 해킹 할 수는 있지만 버그와 광기는 거짓말입니다. 날짜 형식은 좋은 자바 스크립트 라이브러리에서 제공해야하는 형식입니다. 예를 들어, JQuery는 Datepicker.formatDate입니다.
출력을 표시하려는 날짜,하지만 난 여기 GMT를 사용하는 자사의 시간대를 (지정해야합니다,하지만 당신은 사용할 수 있습니다 여기에
우리는 당신에게 많은 도움을 줄 수 날짜와 시간에 대한 기능을 가지고 ExtJS 라이브러리를 사용하고 있습니다. 사실 Mozilla Firefox에서는 브라우저의 시간대에 따라 모든 날짜와 시간을 표시합니다.
http://prideparrot.com/blog/archive/2011/9/how_to_display_dates_and_times_in_clients_timezone – VJAI