2015년 9월 11일 금요일

JavaScript 날자 Data <->String 변환 함수

1. 첫번재 날자 함수 사용 관련
  1) 요구사항
      현재 날자정보는 String 으로 yyyymmdd 형식으로 저장되어 있음
      사용자 입력에 따라서 날자 앞, 뒤로 이동하거나 특정 날자 정보를
        조회 할 수 있음

  2) 진행시 문제점
      JavaScript 에 php 연계시에는 Script 분기문과 관계없이
       php를 타버림
      JavaScirpt 날자 계산 함수가 좀 꾸짐(날자 형태 변환이 힘듬, 물론
       j-query나 다른걸 쓰면 되겠지만 굳이 뭐)

  3) 결론 : 그냥 변환해서 계산후 다시 합치기로 함

  4) 소스 (현재 날자 앞, 뒤만 이동 가능)

<script type="text/javascript">
//we have item data(String) -> data(Data)
//data change -> data(Data)->data(String)
//function changeDay

function changeDay(change){
//(1) String를 날자 타입으로 변환
var checkDate = new String(<?=$phpStringData?>);
var valueDate =
checkDate.substr(0,4)+
'-'+
checkDate.substr(4,2)+
'-'
+checkDate.substr(6,2)
+'';
var dt = new Date(valueDate);

//(2) 분기문+날자 조건을 변경
if(change=='next'){
dt.setDate(Number(checkDate.substr(6,2))+1);
}else if(change=='before'){
dt.setDate(Number(checkDate.substr(6,2))-1);
}

//(3) 결과를 다시 문자열 변수로 변환해 해당 조건으로
         //       재조회
var dtToSyear= ""+dt.getFullYear();
var dtToSmonth = ""+(dt.getMonth()+1);
var dtToSday  = ""+dt.getDate();

if(dtToSmonth.length==1){
dtToSmonth=String("0"+String(dtToSmonth));
}

if(dtToSday.length==1){
dtToSday=String("0"+String(dtToSday));
}

var resetTodate= dtToSyear+dtToSmonth+dtToSday;

alert(resetTodate);
location.replace("listreserve.php?view_date="+resetTodate);
}
</script>

댓글 없음:

댓글 쓰기