-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
123 lines (93 loc) · 3.14 KB
/
index.js
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
const moment = require("moment");
require("moment-timezone");
const luxon = require("luxon");
const datefns = require("date-fns");
const dayjs = require("dayjs");
console.log("↓↓↓↓↓ moment ↓↓↓↓↓");
(function () {
// 現在時取得
const now = moment();
console.log("now", now);
// 現在は前日より未来か?
console.log(
'now.isBefore(moment().subtract(1, "days"))',
now.isAfter(moment().subtract(1, "days"))
);
// ISO-8601表記
const format = moment().format();
console.log("format", format);
// ISO-8601表記からオブジェクトを作る
const date = moment(format);
console.log("date", date);
// 日付だけを表記
const formatDate = moment().format("YYYY-MM-DD");
console.log("formatDate", formatDate);
// 現在に1日追加
const addNow = now.add(1, "days"); // これをやるとnowそのものが書き換わるから注意!
console.log("addNow", addNow);
// UTC表記
const utc = moment().utc();
console.log("utc", utc);
// サモア時間表記
const samoa = utc.tz("Pacific/Apia");
console.log("samoa", samoa);
})();
console.log("↓↓↓↓↓ luxon ↓↓↓↓↓");
(function () {
const { DateTime, Interval } = luxon;
// 現在時取得
const now = DateTime.local();
console.log("now", now);
// 現在は前日より未来か?
console.log('now > now.minus(1, "days")', now > now.minus(1, "days"));
// ISO-8601表記
const format = now.toISO();
console.log("format", format);
// ISO-8601表記からオブジェクトを作る
const date = DateTime.fromISO(format);
console.log("date", date);
// 日付だけを表記
const formatDate = now.toISODate();
console.log("formatDate", formatDate);
// 現在に1日追加
const addNow = now.plus(1, "days");
console.log("addNow", addNow);
// UTC表記
const utc = now.toUTC();
console.log("utc", utc);
// サモア時間表記
const samoa = now.setZone("Pacific/Apia");
console.log("samoa", samoa);
})();
console.log("↓↓↓↓↓ date-fns ↓↓↓↓↓");
(function () {
const { formatISO, sub, isBefore, add } = datefns;
const { zonedTimeToUtc, utcToZonedTime } = require("date-fns-tz");
// 現在時取得(date-fnsは独自オブジェクトを作らない)
const now = formatISO(new Date());
console.log("now", now);
// 現在は前日より未来か?
console.log(
'now > now.minus(1, "days")',
isBefore(new Date(), sub(1, "days"))
);
// ISO-8601表記
const formatted = formatISO(new Date());
console.log("formatted", formatted);
// ISO-8601表記からオブジェクトを作る
const date = new Date(formatted);
console.log("formatted", formatted);
// 日付だけを表記
const formatDate = formatISO(new Date(), { representation: "date" });
console.log("formatDate", formatDate);
// 現在に1日追加
const addNow = add(1, "days");
console.log("addNow", addNow);
// UTC表記
const utc = zonedTimeToUtc(now);
console.log("utc", utc);
// サモア時間表記
const samoa = utcToZonedTime(utc, "Pacific/Apia");
console.log("samoa", samoa);
})();
console.log("↓↓↓↓↓ dayjs ↓↓↓↓↓");