回答編集履歴

2

Date取得に伴うChrome/Safariでのエラーを修正

2018/04/07 23:46

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  <body>
40
40
 
41
- <time datetime="2018-4-8T8:00:00"/>
41
+ <time datetime="2018-04-08T08:00:00"/>
42
42
 
43
43
  <h1>○時だよ!全員集合</h1>
44
44
 
@@ -100,7 +100,7 @@
100
100
 
101
101
  <body>
102
102
 
103
- <time datetime="2018-4-8T8:00:00"/>
103
+ <time datetime="2018-04-08T08:00:00"/>
104
104
 
105
105
  <h1>○だよ!全員集合</h1>
106
106
 
@@ -109,3 +109,9 @@
109
109
  </html>
110
110
 
111
111
  ```
112
+
113
+
114
+
115
+ NOTE:
116
+
117
+ Chrome/Safariでは`2018-04-08T08:00:00`と言ったように0fillしないと`new Date`に失敗します.

1

コメントの内容に回答

2018/04/07 23:46

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -47,3 +47,65 @@
47
47
  </html>
48
48
 
49
49
  ```
50
+
51
+
52
+
53
+ ---
54
+
55
+
56
+
57
+ > すみません、もう1つ教えて頂きたいのですが…これがもし
58
+
59
+ 「2018年4月だよ!全員集合」
60
+
61
+ だった場合はどんな感じになりますか?
62
+
63
+
64
+
65
+ `Date`の文字列変換なのであとはどうとでも
66
+
67
+
68
+
69
+ ```
70
+
71
+ <!DOCTYPE html>
72
+
73
+ <html>
74
+
75
+ <head>
76
+
77
+ <meta charset="utf-8"/>
78
+
79
+ <title>○時だよ!全員集合</title>
80
+
81
+ <script>
82
+
83
+ document.addEventListener("DOMContentLoaded", e => {
84
+
85
+ const date = new Date(document.querySelector("time").dateTime);
86
+
87
+ [].forEach.call(document.querySelectorAll("title,h1"),
88
+
89
+ elem => elem.textContent = elem.textContent.replace(/○/,
90
+
91
+ `${date.getFullYear()}年${date.getMonth()+1}月`
92
+
93
+ ));
94
+
95
+ });
96
+
97
+ </script>
98
+
99
+ </head>
100
+
101
+ <body>
102
+
103
+ <time datetime="2018-4-8T8:00:00"/>
104
+
105
+ <h1>○だよ!全員集合</h1>
106
+
107
+ </body>
108
+
109
+ </html>
110
+
111
+ ```