Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 함수
- was
- 과정평가형
- web.xml
- mybatis
- json
- TO_DATE
- CSS
- Java
- 정의
- 암호화
- html
- Oracle
- controller
- javascript
- array
- eGovFramework
- select
- 오류
- POI
- jQuery
- sql
- eGov
- 개념
- 태그
- spring
- jsp
- JVM
- Ajax
- input
Archives
- Today
- Total
web developer
[javaScript] Moment.js / 날짜 및 시간을 조작하는 라이브러리 본문
728x90
728x90
Moment.js
Moment.js는 JavaScript에서 날짜 및 시간을 조작하고 작업하는데 도움이 되는 JavaScript 라이브러리입니다. Moment.js는 JavaScript에서 날짜 및 시간과 관련된 라이브러리 중에서 가장 오래되었지만, 현재 다음 두 가지 이유로 개발이 중단되었습니다.
- Moment.js의 용량 문제
- 너무 오래되어 신규 기능 추가가 어려움
Moment.js 개발자 중 한 명은 Moment.js의 단점을 극복하기 위해 Luxon.js라는 라이브러를 만들었으며, 날짜 및 시간을 조작하는 라이브러리는 Luxon.js 외에도 Day.js, date-fns.js 등 여러 가지가 존재합니다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
import moment from 'moment';
const moment = require('moment');
moment(), format()
var now = moment();
now.format(); // 2021-10-09T00:01:13+09:00
format() 함수를 사용하여 원하는 형태를 입력하고 원하는 형태의 문자열로 변경할 수 있습니다.
var now = moment();
now.format(); // 2022-11-27 T19:36:20+09:00
now.format("YY-MM-DD"); // 22-11-27
now.format("DD/MM/YY"); // 27/11/22
now.format("YYYY.MM.DD HH:mm:ss"); // 2022.11.27 19:37:39
add() : 날짜 및 시간 더하기
moment 객체를 조작하는 다양한 옵션들이 있다. 예를 들면, days, months, years 등을 더하거나 뺄 수 있다. add()와 subtract() 메소드를 이용하면 된다.
// 2023-11-27 T19:39:36+09:00
moment().add(1, "years").format();
moment().add(1, "y").format();
// 2022-12-27 T19:39:36+09:00
moment().add(1, "months").format();
moment().add(1, "M").format();
// 2022-12-04 T19:42:31+09:00
moment().add(1, "weeks").format();
moment().add(1, "w").format();
// 2022-11-28 T19:42:31+09:00
moment().add(1, "days").format();
moment().add(1, "d").format();
// 2022-11-27 T20:42:31+09:00
moment().add(1, "hours").format();
moment().add(1, "h").format();
// 2022-11-27 T19:43:31+09:00
moment().add(1, "minutes").format();
moment().add(1, "m").format();
// 2022-11-27 T19:42:32+09:00
moment().add(1, "seconds").format();
moment().add(1, "s").format();
// 2022-11-27 T19:42:32+09:00
moment().add(1000, "milliseconds").format();
moment().add(1000, "ms").format();
subtract() : 날짜 및 시간 빼기
// 2021-11-27 T19:50:07+09:00
moment().subtract(1, "years").format();
moment().subtract(1, "y").format();
// 2022-10-27 T19:50:07+09:00
moment().subtract(1, "months").format();
moment().subtract(1, "M").format();
// 2022-11-20 T19:50:07+09:00
moment().subtract(1, "weeks").format();
moment().subtract(1, "w").format();
diff() : 날짜 및 시간 차이
var date1 = moment();
var date2 = moment("2022-10-27");
// 2022-11-27 T19:52:44+09:00
date1.format();
// 2022-10-27 T00:00:00+09:00
date2.format();
date1.diff(date2); // 2749964746
date1.diff(date2, "years"); // 0
date1.diff(date2, "months"); // 1
date1.diff(date2, "weeks"); // 4
fromNow() : 현재 날짜 및 시간을 기준으로 상대적인 시간
// 2022-11-27T19:59:39+09:00
moment().format();
// a few seconds ago
moment().fromNow();
moment().startOf("day").fromNow(); // 20 hours ago
moment().endOf("day").fromNow(); // in 4 hours
moment("2021-10-27").fromNow(); // a year ago
isBetween() : 날짜가 지정한 시간 단위에서 특정 날짜들 사이에 있는지 여부 확인
var date = moment("2022-11-27");
date.isBetween("2022-11-26", "2022-11-27"); // false
date.isBetween("2022-11-27", "2022-11-28"); // true
date.isBetween("2021-11-26", "2022-11-27", "day"); // false
date.isBetween("2022-11-26", "2022-11-28", "day"); // true
date.isBetween("2022-10-27", "2022-12-27", "month"); // true
date.isBetween("2021-11-27", "2022-12-27", "year"); // false
date.isBetween("2021-11-27", "2023-11-27", "year"); // true
date.isBetween("2022-11-27", "2022-11-28", undefined, "()"); // false
date.isBetween("2022-11-27", "2022-11-28", undefined, "[)"); // true
date.isBetween("2022-11-27", "2022-11-28", undefined, "(]"); // false
date.isBetween("2022-11-27", "2022-11-28", undefined, "[]"); // true
isBetween() 함수를 사용하여 날짜 객체가 특정 날짜들 사이에 있는지 확인할 수 있습니다.
isBetween() 함수에서 첫번째와 두번째에 날짜를 넣는 부분에 undefined를 입력하면 오늘 날짜로 대체됩니다.
세번째 인수에는 시간 단위를 지정할 수 있습니다.
네번째 인수에서 '('와 ')'는 입력한 시작날짜와 마지막 날짜를 포함하지 않고 비교하도록 하고, '['와 ']'는 입력한 시작날짜와 마지막 날짜를 포함하여 비교하도록 설정합니다.
728x90
728x90
'JavaScript' 카테고리의 다른 글
[javaScript] 배열, json 객체, json 비교 (4) | 2023.07.23 |
---|---|
[jquery] attr, prop 메서드 (0) | 2022.12.18 |
[Javascript] Uncaught TypeError: ~ .replace is not a function 오류 (2) | 2022.10.31 |
[js] monthpicker 기본 설정, 월 비활성화하는 방법 (0) | 2022.08.24 |
[jquery] click 이벤트 error, on 함수로 대신 사용하기 (0) | 2022.04.26 |