서버는 미국에 있으나 주작업환경은 한국,중국이라 서버DB로 저장될때
서버 localtime 이 적용되어 주작업환경인 한국측에서 시간이 맞지않는상황이
발생..
미국쪽에선 서버만 임대한 상태라 GMT셋팅을 쓰지않고..
CVS로 직백업시 시간변환의 귀차니즘으로 인하야
DATE_ADD(NOW(), interval +15 hour) 를 사용하여 바로
한국시를 기준으로 직업데이트하는방식을 사용..
Remote server : Houston (우리나라와의 시간차
-15시간)
한국에서는 별탈없었는데 중국쪽에서 한시간정도 시간차가 있어서
직원들이 시간이 헷갈린다
하여 로그인시 화면에 서울시간을 표시하기로 해서
삽질이 시작됨...ㅋㅋ
================================================
처음작업한 소스....
<span
style='color:#FFFFFF;font-size:11px;font-family:Tahoma;'
id='_times'></span>
<script
type='text/javascript'> <!-- var i=0; function
Times_curr(){ var time_txt =
document.getElementById("_times"); today = new
Date(); i= i+1000; servertime=<?=time()?>*1000; //_add_time = <?=substr($GMT_TERM,1)?>*3600 *
1000; //processtime=servertime + i +
_add_time ; processtime=servertime + i
; today.setTime(processtime); var yy =
today.getFullYear(); var mm =
today.getMonth()+1; /*var mm
="" switch(today.getMonth()){ case 0 : mm = "Jan";
break; case 1
: mm = "Feb"; break; case 2 : mm = "Mar";
break; case 3
: mm = "Apr"; break; case 4 : mm = "May";
break; case 5
: mm = "Jun"; break; case 6 : mm = "Jul";
break; case 7
: mm = "Aug"; break; case 8 : mm = "Sep";
break; case 9
: mm = "Oct"; break; case 10 : mm = "Nov";
break; case
11 : mm = "Dec"; break; }*/ var dd =
today.getDate(); //var ww =
today.getDay(); var ww = "" switch(today.getDay()){ /*case 0
: ww = "Sun"; break; case 1 : ww = "Mon";
break; case 2
: ww = "Tue"; break; case 3 : ww = "Wed";
break; case 4
: ww = "Thu"; break; case 5 : ww = "Fri";
break; case 6
: ww = "Sat"; break;*/ case 0 : ww = "日";
break; case 1
: ww = "月"; break; case 2 : ww = "火";
break; case 3
: ww = "水"; break; case 4 : ww = "木";
break; case 5
: ww = "金"; break; case 6 : ww = "土";
break; } var h =
today.getHours(); var m =
today.getMinutes(); var s =
today.getSeconds() var ctime = "Seoul :
"; //ctime +=
ww +", "+dd+" "+ mm+ " " +yy +" "; ctime +=
yy+"/"+mm+"/"+dd+"("+ww+") "; ctime += ((h<10) ? "0" : ""
) + h +"" + ((m<10) ? ":0" : ":" ) + m + ((s<10) ? ":0" : ":" ) + s
; //ctime =
today.toLocaleString(); //ctime +=
"<br>"+today.toGMTString(); time_txt.innerHTML =
ctime; setTimeout("Times_curr()",1000); } document.onload =
Times_curr(); //
--> </script> |
===========================================
별문제가 없는줄 알았는데...
윈도에서 타임존셋팅을 바꿔주니...그타임존을 기준으로 날짜가 표시되는걸루 판명..
부랴부랴 새로작업....
아래는 완성된소스..
<html> <head> <title> New Document
</title> <meta http-equiv="Content-Type"
content="text/html; charset=euc-kr"> </head> <body
onload='set_Time()'> <script
language="javascript"> <!--
var i =0;
var time_set="";
var c_infos = new
Array();
var c_date = new
Array();
var c_time = new
Array();
function getTime(){
i =
i+1;
if(time_set ==
"" ){
var _src =
document.getElementById("time_area").innerHTML ;
c_infos = _src.split("
");
//alert(c_infos[0] +" / "+ c_infos[1]);
c_date =
c_infos[0].split("-");
c_time =
c_infos[1].split(":");
}
isss = i+"
> ;"+c_date[0]+"-"+c_date[1]+"-"+c_date[2];
isss +=" "+
c_time[0]+":"+c_time[1]+":"+c_time[2]+"<br>";
document.getElementById("time_test").innerHTML
+= isss;
var sdate = new
Date(c_date[0],c_date[1]-1,c_date[2],c_time[0],c_time[1],c_time[2]);
sdate.setSeconds(sdate.getSeconds()+1);
c_date[0]=sdate.getFullYear();
c_date[1]=sdate.getMonth()+1;
c_date[2]=sdate.getDate();
c_time[0]=sdate.getHours();
c_time[1]=sdate.getMinutes();
c_time[2]=sdate.getSeconds();
var
ww="";
switch(sdate.getDay()){
case 0 : ww = "日";
break;
case 1 : ww = "月";
break;
case 2 : ww = "火";
break;
case 3 : ww = "水";
break;
case 4 : ww = "木";
break;
case 5 : ww = "金";
break;
case 6 : ww = "土";
break;
}
var yy =
c_date[0];
var mm =
c_date[1]<10 ? "0"+c_date[1] : c_date[1];
var dd =
c_date[2]<10 ? "0"+c_date[2] : c_date[2];
var h =
c_time[0]<10 ? "0"+c_time[0] : c_time[0];
var m =
c_time[1]<10 ? "0"+c_time[1] : c_time[1];
var s =
c_time[2]<10 ? "0"+c_time[2] : c_time[2];
time_set =
"Seoul : "+yy+"/"+mm+"/"+dd+"("+ww+") "+h+':'+m+':'+s;
return
time_set;
}
function set_Time(){
var time_txt =
document.getElementById("time_area");
time_txt.innerHTML = getTime()
;
oop =
setTimeout("set_Time()", 1000);
}
//--> </script>
<hr> <div
id=time_area><?=date("Y-m-d
H:i:s",strtotime("+15hour"))?></div> <a href='#' title=''
onclick="clearTimeout(oop)">중지</a> <hr> <div >최초시간 : <?=date("Y-m-d
H:i:s")?></div> <div
id=time_test></div> </body> </html> |
댓글