ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Date객체,String객체 -22.04.08
    HTML 2022. 4. 8. 17:41
    728x90

    <Date >

    ·날짜와 시간 작업을 하는데 사용되는 가장 기본적인 객체
    ·New Date()  // 현재 날짜와 시간
    ·new Date(milliseconds)  // 1970/01/01 이후의 밀리 초
    ·new Date(dateString)
    ·new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])
    ·Month0부터 시작
    ·Year두자리로도 표시 가능
    ·UTC
    ·1972 11부터 시행된 국제 표준시
    ·UTC는 그리니치 평균시(GMT)로 불리기도 하는데, UTCGMT는 초의 소수점 단위에서만 차이가 나기 때문에 일상에서는 혼용되어 사용된다.
    ·기술적인 표기에서는 UTC가 사용된다.

    <Date 객체의 메소드>

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" href="../css/outStyle.css">
    <script>
    var now1 = new Date();
    var now2 = new Date(2000);
    var now3 = new Date("2022.04.08");
    var now4 = new Date(2022,07-1,14,14,59,55);
    
    window.onload=function(){
    	document.getElementsByTagName('div')[0].innerHTML
    										= now1 +"<br>"
    										+ now2 +"<br>"
    										+ now3 +"<br>"
    										+ now4 +  "<br><br>";	
       document.getElementsByTagName('div')[1].innerHTML
       									 =now1.toLocaleString() + "<br>"
       									 +now1.toLocaleDateString() + "<br>"
       									 +now1.toLocaleTimeString();
       
    }
    
    </script>
    <style>
    div{
       border: 2px dotted gold;
       margin: 20px;
    }
     
    </style>
    </head>
    <body>
    	<div></div>
    	<div></div>
    </body>
    </html>


    date_getDate

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" href="../css/outStyle.css">
    <style>
    div{
       border: 2px dotted gold;
       margin: 20px;
    }
    </style>
    </head>
    <body>
    	<h4>getDay() -요일 구하기</h4>
    	<input type="button" value="요일구하기" onclick="proc1()">
    	<input type="button" value="요일구하기(배열)" onclick="proc2()">
    	<div></div>
    	
    <script>
    var today = new Date(); //전역
    function proc1(){
    
    	var result = `오늘 날짜: ${today.toLocaleDateString()}`;
    	//요일 구하기
    	var day = today.getDay();
    	alert(day);
    	switch (day) {
    	case 0:
    		result += `일요일`;
    		break;
    	case 1:
    		result += `월요일`;
    		break;
    	case 2:
    		result += `화요일`;
    		break;
    	case 3:
    		result += `수요일`;
    		break;
    	case 4:
    		result += `목요일`;
    		break;
    	case 5:
    		result += `금요일`;
    		break;
    	case 6:
    		result += `토요일`;
    		break;
    	
    	}
    	document.getElementsByTagName('div')[0].textContent =result;
    }
    
    function proc2(){
    	var days =["일","월","화","수","목","금","토"];
    	//요일 구하기
    	var day = today.getDay();
    	 document.getElementsByTagName('div')[0].textContent = `${days[day]}요일입니다.`;
    }
    
    
    </script>
    </body>
    </html>


    date_getTime

    ms 너무 크니까 계산해줄 필요가 있음

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" href="../css/outStyle.css">
    </head>
    <body>
    	<h4>getTime()- 경과시간 구하기(milliseconds로 반환)</h4>
    	<input type="button" value="확인" onclick="proc()">
    	<div></div>
    
    <script>
    var now = new Date();
    
    var proc = function(){
    	var complet  = new Date("2022.09.23");
    	
    	//getTime()으로 현재 날짜와 대상 날짜의 miliiseconds 구하기
    	var today = now.getTime();
    	var comp = complet.getTime();
    	
    	var ms= comp - today;
    	var day =ms/1000/60/60/24;
    	
    	//출력문장 완성
    	var result=`수료일: ${complet.toLocaleDateString()} <br>`;
    		result += `오늘 : ${now.toLocaleDateString()} <br>`;
    		result += `D-${day}일 남았다!!~~ <br>`;
    		result += `D-${day.toFixed(2)}일 남았다!!~~ <br>`; //반올림
    		result += `D-${Math.round(day)}일 남았다!!~~ <br>`; //올림
    		result += `D-${Math.floor(day)}일 남았다!!~~ <br>`; //내림
    		
    		document.getElementsByTagName('div')[0].innerHTML =result;
    }
    
    </script>
    </body>
    </html>

     


    내가 태어난지 얼마나 됐는지

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" href="../css/outStyle.css">
    </head>
    <body>
    	<h4>getTime()- 내가 살아온 날짜 구하기(milliseconds로 반환)</h4>
    	<input type="button" value="탄생" onclick="birth()">
    	<div></div>
    	
    <script>
    var now = new Date();
    
    var birth = function() {
       //today - 살아온날짜
       var birthday = new Date("1999.08.04");
       var today = now.getTime();
       var bir = birthday.getTime();
       var ms = today - bir; 
       
       var sec = ms/1000;
       var min = sec/60;
       var hh = min/60;
       var dd = hh/24;
       var yy = dd/365;
       var day = ms/1000/60/60/24/365;
       
       var result = `생일 : ${birthday.toLocaleDateString()} <br>`;
           result += `오늘 : ${now.toLocaleDateString()} <br>`;
          result += `${yy.toFixed(2)}년 <br>`;
          result += `${dd.toFixed(2)}일 <br>`;
          result += `${hh.toFixed(2)}시 <br>`;
          result += `${min.toFixed(2)}분 <br>`;
          result += `${sec.toFixed(2)}초 <br>`;
          
          result += `${Math.round(day)}년 <br>`;
       document.getElementsByTagName('div')[1].innerHTML = result; //위에 데이터 지워서 1이 맞음
    }
    
    </script>
    </body>
    </html>


    7일 후 환불불가 안내

    <meta charset="UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" href="../css/outStyle.css">
    </head>
    <body>
    	<h4>7일 후 환불 불가 안내</h4>
    	<input type="date" id="refund">
    	<input type="button" value="환불하기" onclick="refund()">
    	<div></div>
    	
    <script>
    var now = new Date();
    
    var refund = function() {
    	
    	var rf = document.getElementById('refund').value;
    	if(rf !=""){
    		var rfDay = new Date(rf);
    		
    		//ms구하기
    		var today = now.getTime();
    		var rfd = rfDay.getTime();
    		var ms = today -rfd;
    		
    		var day = ms/1000/60/60/24;
    		
    		if(day >= 7){
    			alert("환불이 불가합니다....");
    			document.getElementById('refund').value="";  //날짜 리셋(초기화)
    		}else{
    			alert("환불이 가능합니다!!")
    			document.getElementById('refund').value="";
    		}
    	}else{
    		alert("날짜 선택하세용")
    	}
    }
    
    
    </script>
    </body>
    </html>

     

     


    String 객체

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" href="../css/outStyle.css">
    </head>
    <body>
    	<h4>우리나라 좋은나라 대한민국 만세~~ 독도는 우리땅~~ ABCabc0123</h4>
    	
    	<input type="button" value="CharAt" onclick="fn1()">
    	<input type="button" value="(last)indexOf" onclick="fn2()"> <br>
    	
    	<input id="txt">
    	<input type="button" value="trim" onclick="fn3()"> <br>
    	<input type="button" value="substring외" onclick="fn4()"> <br>
    	<input type="button" value="split" onclick="fn5()"> <br>
        <textarea rows="5" cols="20"></textarea>
    	<input type="button" value="replace" onclick="fn6()">
    	<div></div>
    <script >
    var str ="우리나라 좋은나라 대한민국 만세~~ 독도는 우리땅~~ABCabc0123";
    
    따로 밑에 구현
    function fn1()
    function fn2()
    function fn3()
    function fn4()
    
    
    </script>
    </body>
    </html>
    function fn1(){
    	
    	//charAt(idx) :index 번째의 문자 반환
    	//charCodeAt(idx) : index번째 문자의 유니코드를 반환
    	var result =`str.charAt(3) : ${str.charAt(3)} <br>`;
    		result +=`str.charCodeAt(3) : ${str.charCodeAt(3)} <br>`;
    	document.getElementsByTagName('div')[0].innerHTML =result;
    }

    function fn2(){
    	//ondexOf(value , 검색이 시작될 지점), lastIndexOf(value, 검색을 끝낼 지점)
    	var result = `str.indexOf("우리",4) : ${str.indexOf('우리',4)} <br>`;
    	    result += `str.lastIndexOf("우리",20) : ${str.lastIndexOf('우리',20)} <br>`;
    	    result += `str.indexOf("붹") : ${str.indexOf("붹")} <br>`;
    	document.getElementsByTagName('div')[0].innerHTML =result;
    }

    function fn3(){
    	//trim() : 앞 뒤 공백 제거, 문자열 안쪽 공백은 제거하지 않음
    	var tVal = document.getElementById('txt').value;
    	var result = `공백제거 전 길이 : ${tVal.length} <br>`;
    	tVal = tVal.trim();
    	   result += `공백제거 후 길이 : ${tVal.length} `;
    	document.getElementsByTagName('div')[0].innerHTML =result;
    }

    function fn4(){
    	//substring(start,end), slice(start,end), substr(start, length)
    	//start ~ end사이(또는 length만큼) 문자열 잘라내기 (end는 포함되지 않음)
    	var start =str.indexOf("독");             //20
    	var end = start + "독도는 우리땅".length;    //20 + 7 = 27
    	
    	var result = `str.substring(strat, end) : ${str.substring(start,end)} <br>`;
    	 	result += `str.slice(strat, end) : ${str.slice(start, end)} <br>`;
    	 	result += `str.substr(str, length) : ${str.substr(start, "독도는 우리땅".length)} <br>`;
    	 document.getElementsByTagName('div')[0].innerHTML =result;
    	
    }

    function fn5(){
    	//split(구분자, 구분갯수) : 구분자를 기준으로 문자열을 분리하여 배열로 반환
    	//						구분갯수 지정 값은 포함되지 않음(추청)
    	var result = "문자열 일 때 : str[3] "+str[3]+"<br>";
    	var arr = str.split(" ");
    		result +=` 배열로 반환 후: arr[3] : ${arr[3]}`;
    	document.getElementsByTagName('div')[0].innerHTML =result;
    	 
    }

    <더 추가한 예제>

    .split()은 문자열을 분할하는 메서드입니다.

    =>분할갯수를 정하면 갯수만큼만 분할을함

    정규표현식

    '슬래쉬 사이에 모든(g) 문자를, 대소문자 구분없이(i) 치환 하겠다' 가 됩니다.

    function fn6(){
      //repalce(찾을 문자열, 변경할 문자열) :문자열을 찾아 변경 문자열로 바꿈	
      // 	//g(global): 대상이 되는 문자열 내 모든 패턴 체크(=검색)
      var ta = document.getElementsByTagName('textarea')[0].value;  //공간이 가지고 있는 데이터 ta에 저장
      document.getElementsByTagName('div')[0].innerHTML =ta;
    	
    }

    수정하면 엔터값을 읽게 된다.

    function fn6(){
      //repalce(찾을 문자열, 변경할 문자열) :문자열을 찾아 변경 문자열로 바꿈	
      // 	//g(global): 대상이 되는 문자열 내 모든 패턴 체크(=검색)
      var ta = document.getElementsByTagName('textarea')[0].value;  //공간이 가지고 있는 데이터 ta에 저장
      ta = ta.replace(/\r/g,"").replace(/\n/g,"<br>");
      document.getElementsByTagName('div')[0].innerHTML =ta;
    	
    }

    //w3schools 예제 확인 
    //search() => indexOf()와 기능같음
    //Match() => 문자열 또는 정규식 패턴으로 항목 검색 후 배열 반환

    728x90

    'HTML' 카테고리의 다른 글

    BOM과 DOM-22.04.12  (0) 2022.04.12
    String2 ,Math-22.04.11  (0) 2022.04.11
    배열2-22.04.08  (0) 2022.04.08
    JDBC연결-22.04.08  (0) 2022.04.08
    자바스크립트 객체, 배열-22.04.07  (0) 2022.04.07
Designed by Tistory.