回答編集履歴

1

調整

2018/11/07 00:40

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -53,3 +53,83 @@
53
53
 
54
54
 
55
55
  ```
56
+
57
+
58
+
59
+ # 調整
60
+
61
+ よく考えたら秒単位でやったほうがすっきりしますね
62
+
63
+
64
+
65
+ ```javascript
66
+
67
+ var mytime=function(str){
68
+
69
+ var hms=str.split(":");
70
+
71
+ var h=parseInt(hms[0]);
72
+
73
+ var m=parseInt(hms[1]|"0");
74
+
75
+ var s=parseInt(hms[2]|"0");
76
+
77
+ this.time=h*3600+m*60+s;
78
+
79
+ this.addSecond=function(n){
80
+
81
+ this.time+=n;
82
+
83
+ };
84
+
85
+ this.addMinute=function(n){
86
+
87
+ this.time+=n*60;
88
+
89
+ };
90
+
91
+ this.addHour=function(n){
92
+
93
+ this.time+=n*3600;
94
+
95
+ };
96
+
97
+ this.disp=function(){
98
+
99
+ var minus=this.time<0?"-":"";
100
+
101
+ var t=Math.abs(this.time);
102
+
103
+ var h=Math.floor(t/3600).toString();
104
+
105
+ var m=(100+Math.floor((t%3600)/60)).toString().substr(-2);
106
+
107
+ var s=(100+Math.round(t%60)).toString().substr(-2);
108
+
109
+ return minus+h+":"+m+":"+s;
110
+
111
+ };
112
+
113
+ };
114
+
115
+ var time=new mytime('21:00');
116
+
117
+ console.log(time.disp());
118
+
119
+ time.addHour(4.5);
120
+
121
+ console.log(time.disp());
122
+
123
+ time.addHour(1.234);
124
+
125
+ console.log(time.disp());
126
+
127
+ time.addHour(-30.2);
128
+
129
+ console.log(time.disp());
130
+
131
+ time.addHour(4.1);
132
+
133
+ console.log(time.disp());
134
+
135
+ ```