블로그 이미지
숏퐁숑

카테고리

분류 전체보기 (70)
게임기획자 준비 (18)
게임기획 참고자료 (7)
프로그램 (33)
숨쉬기 활동 (10)
Total
Today
Yesterday

달력

« » 2024.10
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

엑스플랫폼으로 PC의 시간을 보여달라는 요청을 처리해 준 후 년/월/일/시/분/초를 자바 스크립트로 구현하는 방법을 정리해 보았다.

 

/*******************************************************************************
 ★ 설명
    해당 PC의 오늘 날짜 + 시간을 가져온다.
 ★ parameter
 ★ return
    - 성공 = yyyyMMddhhmiss형태의 오늘 날짜 ( 예 : "20121122223010" )
    - 실패 = 없음
******************************************************************************/
function TodayTime()
{
 var strToday = "";
 var objDate = new Date();
 var sToday  = objDate.getFullYear().toString();
 sToday += Right("0" + (objDate.getMonth() + 1), 2);
 sToday += Right("0" + objDate.getDate(), 2);
 sToday += Right("0" + objDate.getHours(), 2);
 sToday += Right("0" + objDate.getMinutes(), 2);
 sToday += Right("0" + objDate.getSeconds(), 2);
 //strToday += objDate.getMilliseconds();
 return sToday;

 

/*******************************************************************************
 ★ 설명
    문자열의 오른쪽에서 nSize만큼의 문자열을 가져온다.
 ★ Parameter
    1. sOrg   : 원래 문자열( 예 : "aaBBbbcc" )
    2. nSize  : 가져올문자열 길이 ( 예 : 2 )
 ★ return
    - 성공 = 오른쪽에서 nSize만큼의 문자열 ( 예 : "cc" )
    - 실패 = ""
 ★ 주의사항
    sOrg의 길이가 nSize보다 작은경우는 sOrg가 Return된다.
    ( 예 : sOrg="a", nSize=2 ==> return = "a" )
 ******************************************************************************/
function Right(sOrg, nSize)
{
 if( IsNull(sOrg) || IsNull(nSize) )  return "";
 
 if( sOrg.length < nSize )
  return sOrg;
 else
  return sOrg.substr(sOrg.length-nSize, nSize);
}

////////////////////////////////////////////////////////////////////////////////
// String & Number Start
////////////////////////////////////////////////////////////////////////////////
/*******************************************************************************
 ★ 설명
    입력값이 null에 해당하는 경우 모두를 한번에 체크한다.
 ★ Parameter
    1. sValue : 체크할 문자열( 예 : null 또는 undefined 또는 "" 또는 "abc" )
 ★ return
    - sValue가 undefined, null, NaN, "", Array.length = 0인 경우 = true
    - 이외의 경우 = false
******************************************************************************/
function IsNull(sValue)
{
 if( new String(sValue).valueOf() == "undefined")
  return true;
 if( sValue == null )
  return true;
 if( ("x"+sValue == "xNaN") && ( new String(sValue.length).valueOf() == "undefined" ) )
  return true;
 if( sValue.length == 0 )
  return true;
 return false;
}

 

// 시계처리 함수
function Clock()
{
 date_str = TodayTime();
 yy = date_str.substr(0,4);  //년
 mm = date_str.substr(4,2);  //월
 dd = date_str.substr(6,2);  //요일
 hh = date_str.substr(8,2);  //시간
 mi = date_str.substr(10,2); //분
 ss = date_str.substr(12,2); //초
 return hh + " : " + mi + " : " + ss;
}

 

function comp_timer_ontimer(obj:Form, e:TimerEventInfo)
{
 Static_clock.text = Clock();   //한국 시간
}

 

요렇게 추가해 놓으면 일단 작업은 끝!!

그리고 중요한 부분은 엑스플랫폼의 Source 부분을 열어서 밑에 빨간부분처럼 수정해주어야 한다.

<Form id="work" classname="main" inheritanceid="" position="absolute 0 0 1012 617" titletext="Work Frame" scrollbars="none" onload="work_onload" onsize="work_onsize" ontimer="comp_timer_ontimer" visible="true" style="background:darkgray;">

 

마지막으로 화면이 실행되자마자 실행되게 하기위해 onload 부분에

Static_clock.text = Clock(); // 시계표시용 Static Component에 시간표시
this.setTimer(1,1000);  // Timer구동 <= 타이머를 1초간격으로 설정해주면 위에 ontimer에 설정되어있는 함수를 호출해준다. 그럼 실제 시간이 초당 흘러가는 효과를 나타낼 수 있다!

 

한국 시간은 이렇게 구해왔는데... 워싱턴의 시간과 베이징의 시간도 표현하고 싶어서~~

 

function Clock() {
  var arg = arguments;
  var time = new Date();
 
 if(arg[1])
 time.setHours(time.getHours()+arg[1]);
 
 var yy = time.getFullYear();
  var mm = time.getMonth() + 1;
  var dd = time.getDate();
 
 var minute = time.getMinutes();
  var second = time.getSeconds();
  var hour = time.getHours();
 
 if(hour<=12) {
   if(hour<10) hour = "AM 0" + hour;
   else hour = "AM " + hour;
  }
  else hour = "PM " + (hour-12);
  if(mm<10) mm = "0" + mm;
  if(dd<10) dd = "0" + dd;
  if(minute<10) minute = "0" + minute;
  if(second<10) second = "0" + second;
 
  return yy +"년 "+ mm +"월 "+ dd +"일 "+ hour +":"+ minute +":"+ second;
 }

 

요렇게 만들면 모든 나라의 날짜와 시차를 구할 수 있다.

 

호출 할때는  clock('usa',-14) 요렇게 호출하면 미국과 14시간 차이남으로 미국의 현재 시간을 불러올 수 있다. clock('bejing',1) 요렇게 하면 베이징과의 시차가 1시간 이니까 베이징의 현재시간을 나타낼 수 있다.

Posted by 숏퐁숑
, |

최근에 달린 댓글

글 보관함