Vue.js 를 이용한 시간 변환 도구

JavaScriptBeginner
지금 연습하기

소개

이 프로젝트에서는 Vue.js 를 사용하여 시간 변환 도구를 만드는 방법을 배우게 됩니다. 이 도구를 사용하면 날짜와 타임스탬프 간에 변환할 수 있으며, 이는 많은 비즈니스 애플리케이션에서 흔히 요구되는 사항입니다.

👀 미리보기

시간 변환 도구 미리보기

🎯 과제

이 프로젝트에서는 다음을 배우게 됩니다:

  • Vue.js 프로젝트를 설정하고 제공된 코드 구조를 이해하는 방법
  • 날짜와 타임스탬프 간에 변환하는 기능을 구현하는 방법
  • 변환 결과가 원하는 형식으로 올바르게 표시되도록 하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • Vue.js 를 사용하여 간단한 웹 애플리케이션을 구축할 수 있습니다.
  • 웹 애플리케이션에서 날짜 및 시간 데이터를 처리할 수 있습니다.
  • 날짜 및 타임스탬프와 같은 다양한 시간 표현 간에 변환할 수 있습니다.
  • 변환 기능의 정확성을 테스트하고 확인할 수 있습니다.

프로젝트 구조 설정

이 단계에서는 프로젝트 파일과 구조를 설정합니다. 이 단계를 완료하려면 아래 단계를 따르세요:

프로젝트 폴더를 엽니다. 디렉토리 구조는 다음과 같습니다:

├── element-ui.css
├── element-ui.js
├── index.html
└── vue.js

WebIDE 의 오른쪽 하단 모서리에 있는 Go Live 버튼을 클릭하여 프로젝트를 실행합니다.

다음으로, VM 상단의 "Web 8080"을 열고 수동으로 새로 고치면 페이지가 표시됩니다.

✨ 솔루션 확인 및 연습

실시간 검색 기능 구현

이 단계에서는 날짜와 타임스탬프 간에 변환하는 기능을 구현합니다.

  1. Vue.js 인스턴스에서 handleTransform() 메서드를 찾습니다.

  2. handleTransform() 메서드 내에서 날짜와 타임스탬프 간에 변환하는 로직을 추가해야 합니다.

  3. formInline.date가 비어 있지 않고 formInline.timeStamp가 비어 있는 경우, 날짜 값을 13 자리 타임스탬프로 변환하고 formInline.timeStamp를 그에 따라 업데이트해야 합니다.

    let date = this.formInline.date;
    let timeStamp = this.formInline.timeStamp;
    if (date && !timeStamp) {
      let newValue = new Date(date);
      this.formInline.timeStamp = newValue.getTime();
    }
  4. formInline.date가 비어 있고 formInline.timeStamp가 비어 있지 않은 경우, 타임스탬프 값을 YYYY-MM-DD hh:mm:ss 형식의 날짜 문자열로 변환하고 formInline.date를 그에 따라 업데이트해야 합니다.

    if (!date && timeStamp) {
      timeStamp = new Number(timeStamp);
      let d = new Date(timeStamp);
      var Y = d.getFullYear() + "-";
      var M =
        (d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1) +
        "-";
      var D = d.getDate() < 10 ? "0" + d.getDate() + " " : d.getDate() + " ";
      var H = d.getHours() + ":";
      var M2 =
        (d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes()) + ":";
      var S = d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();
      this.formInline.date = Y + M + D + H + M2 + S;
    }
  5. 전체 코드는 다음과 같습니다:

    handleTransform() {
       // TODO
       let date = this.formInline.date;
       let timeStamp = this.formInline.timeStamp;
       if (date && !timeStamp) {
         let newValue = new Date(date);
         this.formInline.timeStamp = newValue.getTime();
       }
       if (!date && timeStamp) {
         timeStamp = new Number(timeStamp);
         let d = new Date(timeStamp);
         var Y = d.getFullYear() + "-";
         var M =
           (d.getMonth() + 1 < 10
             ? "0" + (d.getMonth() + 1)
             : d.getMonth() + 1) + "-";
         var D =
           d.getDate() < 10 ? "0" + d.getDate() + " " : d.getDate() + " ";
         var H = d.getHours() + ":";
         var M2 =
           (d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes()) +
           ":";
         var S =
           d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds();
         this.formInline.date = Y + M + D + H + M2 + S;
       }
    }
  6. index.html 파일을 저장하고 웹 페이지를 새로 고칩니다. 날짜와 시간을 입력하거나 선택한 다음 "convert" 버튼을 클릭하여 변환 기능을 테스트합니다.

✨ 솔루션 확인 및 연습

변환 결과 검증

이 단계에서는 날짜와 타임스탬프 간의 변환이 예상대로 작동하는지 확인합니다.

  1. 웹 페이지를 열고 변환 결과를 확인합니다.
  2. 날짜 - 시간 선택기에서 날짜와 시간을 입력하거나 선택하면 타임스탬프 입력 상자에 해당 13 자리 타임스탬프가 표시되어야 합니다.
  3. 타임스탬프 입력 상자에 13 자리 타임스탬프를 입력하면 날짜 - 시간 선택기에 올바른 날짜와 시간이 표시되어야 합니다.
  4. 날짜 형식이 YYYY-MM-DD hh:mm:ss로 표시되고 타임스탬프가 13 자리인지 확인합니다.
  5. 양방향으로 변환을 테스트하여 제대로 작동하는지 확인합니다.
Image description

축하합니다! Vue.js 를 사용하여 날짜 - 타임스탬프 변환 도구를 성공적으로 구현했습니다. 추가 질문이나 도움이 필요하면 언제든지 문의하십시오.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.