[まず作ったJS]記念日電卓
17960 ワード
🗓 記念日計算機
Dateオブジェクト
Dateオブジェクトは処理日のオブジェクトです.使える方法が多いので試してみましょう.// 1. Date 객체 생성
var now = new Date();
// 2. 연도를 가져오는 메소드 .getFullYear()
console.log(now.getFullYear());
// 3. 월 정보를 가져오는 메소드 .getMonth() {0: 1월, 1: 2월, ... 10: 11월, 11: 12월}
console.log(now.getMonth());
// 4. 일 정보를 가져오는 메소드 .getDate()
console.log(now.getDate());
// 5. 1970년 1월 1일 00:00:00을 기준으로 흐른 시간을 밀리초로 표시하는 메서드 .getTime()
console.log(now.getTime());
// 6. 특정일의 Date 객체 생성
var today = new Date('2022-04-15');
console.log(today);
// 7. 특정 ms의 Date 객체 생성
var ms = new Date(1000);
console.log(ms);
実装の開始
まず、記念日を計算するためには、起点となる特定の日付を指定しなければならない.前述したように、特定日オブジェクト作成方法に従って開始日を指定した後、時間をgetTime
で計算します.현재 시간 - 시작 시간
を計算すればいいです.
ただし、このように計算すると、日数は計算されずms単位で出力されます.日数のみを確認するために1000ms * 60s * 60m * 24h
に分割し、Math.floor
関数を用いて整数処理を行う.Math.floor
は、与えられた数と等しいまたは小さい整数の中で最大の数を返します.
注意すべき点は、通常開始日が1日なので、除算した値に+1を加算することです.var now = new Date();
var start = new Date('2020-06-30');
var timeDiff = now.getTime() - start.getTime();
var day = Math.floor(timeDiff / (1000 * 60 * 60 * 24) + 1);
$('#love').text(day + '일째');
今日が何日目かを確認すれば、特定の日付までどれだけ残っているかを計算します.
記念日も上記と同じように、特定の日付を指定して、今日からどれくらい残っているかを計算します.var now = new Date();
var start = new Date('2020-06-30');
var timeDiff = now.getTime() - start.getTime();
var day = Math.floor(timeDiff / (1000 * 60 * 60 * 24) + 1);
$('#love').text(day + '일째');
var valentine = new Date('2023-02-14');
var timeDiff2 = valentine.getTime() - now.getTime();
var day2 = Math.floor(timeDiff2 / (1000 * 60 * 60 * 24) + 1);
$('#valentine').text(day2 + '일 남음');
では、いつn番なのか、どうやって知るのでしょうか.
1000일의 ms = 시작일.getTime() + 999일.getTime()
1000일 = new Date(1000일의 ms)
そう計算できます.thousand
にmsで計算された1000日間のms作成オブジェクトを加えた後、年から日付まで順次解き、いつ1000日間であるかを計算します.var thousand = new Date(start.getTime() + 999 * (1000 * 60 * 60 * 24));
var thousandDate = thousand.getFullYear() + '.' + (thousand.getMonth()+1) + '.' + thousand.getDate();
$('#thousand-date').text(thousandDate);
何日か確認しましたが、1000日が残っているか計算できます.var thousand = new Date(start.getTime() + 999 * (1000 * 60 * 60 * 24));
var thousandDate = thousand.getFullYear() + '.' + (thousand.getMonth()+1) + '.' + thousand.getDate();
$('#thousand-date').text(thousandDate);
var timeDiff3 = thousand.getTime() - now.getTime();
var day3 = Math.floor(timeDiff3 / (1000 * 60 * 60 * 24) + 1);
$('#thousand').text(day3 + '일 남음');
Reference
この問題について([まず作ったJS]記念日電卓), 我々は、より多くの情報をここで見つけました
https://velog.io/@plutoin/일단-만드는-JS-기념일-계산기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
// 1. Date 객체 생성
var now = new Date();
// 2. 연도를 가져오는 메소드 .getFullYear()
console.log(now.getFullYear());
// 3. 월 정보를 가져오는 메소드 .getMonth() {0: 1월, 1: 2월, ... 10: 11월, 11: 12월}
console.log(now.getMonth());
// 4. 일 정보를 가져오는 메소드 .getDate()
console.log(now.getDate());
// 5. 1970년 1월 1일 00:00:00을 기준으로 흐른 시간을 밀리초로 표시하는 메서드 .getTime()
console.log(now.getTime());
// 6. 특정일의 Date 객체 생성
var today = new Date('2022-04-15');
console.log(today);
// 7. 특정 ms의 Date 객체 생성
var ms = new Date(1000);
console.log(ms);
var now = new Date();
var start = new Date('2020-06-30');
var timeDiff = now.getTime() - start.getTime();
var day = Math.floor(timeDiff / (1000 * 60 * 60 * 24) + 1);
$('#love').text(day + '일째');
var now = new Date();
var start = new Date('2020-06-30');
var timeDiff = now.getTime() - start.getTime();
var day = Math.floor(timeDiff / (1000 * 60 * 60 * 24) + 1);
$('#love').text(day + '일째');
var valentine = new Date('2023-02-14');
var timeDiff2 = valentine.getTime() - now.getTime();
var day2 = Math.floor(timeDiff2 / (1000 * 60 * 60 * 24) + 1);
$('#valentine').text(day2 + '일 남음');
1000일의 ms = 시작일.getTime() + 999일.getTime()
1000일 = new Date(1000일의 ms)
var thousand = new Date(start.getTime() + 999 * (1000 * 60 * 60 * 24));
var thousandDate = thousand.getFullYear() + '.' + (thousand.getMonth()+1) + '.' + thousand.getDate();
$('#thousand-date').text(thousandDate);
var thousand = new Date(start.getTime() + 999 * (1000 * 60 * 60 * 24));
var thousandDate = thousand.getFullYear() + '.' + (thousand.getMonth()+1) + '.' + thousand.getDate();
$('#thousand-date').text(thousandDate);
var timeDiff3 = thousand.getTime() - now.getTime();
var day3 = Math.floor(timeDiff3 / (1000 * 60 * 60 * 24) + 1);
$('#thousand').text(day3 + '일 남음');
Reference
この問題について([まず作ったJS]記念日電卓), 我々は、より多くの情報をここで見つけました https://velog.io/@plutoin/일단-만드는-JS-기념일-계산기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol