回答編集履歴
3
出力形式の修正
test
CHANGED
@@ -20,8 +20,8 @@
|
|
20
20
|
let minute = 30;
|
21
21
|
let result = work.subtract({hours: hour, minutes: minute});
|
22
22
|
|
23
|
-
// 求めた時刻をHH
|
23
|
+
// 求めた時刻をHHmmの形式で表示
|
24
|
-
console.log(result.format('HH
|
24
|
+
console.log(result.format('HHmm'));
|
25
25
|
```
|
26
26
|
|
27
27
|
日をまたいだ場合も正しく計算されるかと思います。
|
2
解説を追加
test
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
Utilities.parseDateを使用すれば
|
2
|
+
```javascript
|
3
|
+
let time = Utilities.parseDate((`0000${timeint}`).slice(-4), 'JST', 'HHmm');
|
4
|
+
```
|
5
|
+
といった感じでDateクラスには出来るのですが標準のDateクラスでは日付や時間の計算が簡単に出来ないので外部のライブラリを使用したほうが簡単です。
|
6
|
+
|
1
7
|
Momentライブラリを使えば下記のようにできます。
|
2
8
|
```javascript
|
3
9
|
// 時刻を数値として宣言 00:15の場合は15とすること
|
@@ -10,12 +16,12 @@
|
|
10
16
|
let work = Moment.moment((`0000${timeint}`).slice(-4),'HHmm');
|
11
17
|
|
12
18
|
// 変換した時刻から2時間30分引く
|
19
|
+
let hour = 2;
|
20
|
+
let minute = 30;
|
13
|
-
let result = work.subtract({hours:
|
21
|
+
let result = work.subtract({hours: hour, minutes: minute});
|
14
22
|
|
15
23
|
// 求めた時刻をHH:mmの形式で表示
|
16
24
|
console.log(result.format('HH:mm'));
|
17
|
-
|
18
|
-
|
19
25
|
```
|
20
26
|
|
21
27
|
日をまたいだ場合も正しく計算されるかと思います。
|
1
コード変更
test
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
Momentライブラリを使えば下記のようにできます。
|
2
|
-
```
|
2
|
+
```javascript
|
3
|
+
// 時刻を数値として宣言 00:15の場合は15とすること
|
3
4
|
const timeint = 2315;
|
4
5
|
|
5
6
|
// 数字を0埋めして文字列としたものを確認
|