teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コード追加

2021/10/13 15:45

投稿

退会済みユーザー
answer CHANGED
@@ -1,49 +1,1 @@
1
- 日時に関してアレコレやりたいときは[dayjs](https://day.js.org/)を使うとよいでしょう。
2
-
3
- ご質問の比較だったら[cdnjs.com/libraries/dayjs](https://cdnjs.com/libraries/dayjs)から、以下
4
- ```html
5
- <script
6
- src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.10.7/dayjs.min.js"
7
- integrity="sha512-bwD3VD/j6ypSSnyjuaURidZksoVx3L1RPvTkleC48SbHCZsemT3VKMD39KknPnH728LLXVMTisESIBOAb5/W0Q=="
8
- crossorigin="anonymous" referrerpolicy="no-referrer"></script>
9
- ```
10
-
11
- を <head> 内にコピペしておいて、
12
- ```javascript
13
- const DATE_FORMAT = 'YYYY/MM/DD HH:mm:ss'
14
-
15
- const date1 = "2021/10/12 03:40:05";
16
- const date2 = "2021/10/12 04:23:23";
17
-
18
- window.onload = function() {
19
-
20
- const d = dayjs(date1, DATE_FORMAT);
21
- const dd = dayjs(date2, DATE_FORMAT);
22
-
23
- if (dd > d)
24
- alert(`${dd.format(DATE_FORMAT)}は${d.format(DATE_FORMAT)}より新しい`);
25
- else if (d > dd)
26
- alert(`${dd.format(DATE_FORMAT)}は${d.format(DATE_FORMAT)}より古い`);
27
-     else
28
- alert(`${dd.format(DATE_FORMAT)}は${d.format(DATE_FORMAT)}と同じ`);
29
- }
30
-
31
- ```
32
- とする。
33
-
34
- または、はじめに与えられる date1 と date2 が、'YYYY/MM/DD HH:mm:ss'形式の文字列なのであれば、Dateに変換しなくても、二つの文字列を辞書順に比較してもできますね。[localeCompare](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare)を使います。
35
-
36
- ```javascript
37
- const date1 = "2021/10/12 03:40:05";
38
- const date2 = "2021/10/12 04:23:23";
39
-
40
- const comparison = date1.localeCompare(date2);
41
-
42
- if (comparison > 0)
43
- alert(`${date1}は${date2}よりも新しい`);
44
- else if (comparison < 0)
45
- alert(`${date1}は${date2}よりも古い`);
46
- else
47
- alert(`${date1}は${date2}と同じ`);
48
-
49
- ```
1
+ ![イメージ説明](bf4649b7a3f57d1b5e6db387aa227d2e.png)

1

コード追加

2021/10/13 15:45

投稿

退会済みユーザー
answer CHANGED
@@ -22,9 +22,28 @@
22
22
 
23
23
  if (dd > d)
24
24
  alert(`${dd.format(DATE_FORMAT)}は${d.format(DATE_FORMAT)}より新しい`);
25
- else
25
+ else if (d > dd)
26
26
  alert(`${dd.format(DATE_FORMAT)}は${d.format(DATE_FORMAT)}より古い`);
27
+     else
28
+ alert(`${dd.format(DATE_FORMAT)}は${d.format(DATE_FORMAT)}と同じ`);
27
29
  }
28
30
 
29
31
  ```
30
- とする。
32
+ とする。
33
+
34
+ または、はじめに与えられる date1 と date2 が、'YYYY/MM/DD HH:mm:ss'形式の文字列なのであれば、Dateに変換しなくても、二つの文字列を辞書順に比較してもできますね。[localeCompare](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare)を使います。
35
+
36
+ ```javascript
37
+ const date1 = "2021/10/12 03:40:05";
38
+ const date2 = "2021/10/12 04:23:23";
39
+
40
+ const comparison = date1.localeCompare(date2);
41
+
42
+ if (comparison > 0)
43
+ alert(`${date1}は${date2}よりも新しい`);
44
+ else if (comparison < 0)
45
+ alert(`${date1}は${date2}よりも古い`);
46
+ else
47
+ alert(`${date1}は${date2}と同じ`);
48
+
49
+ ```