回答編集履歴
2
状態遷移図追加。
test
CHANGED
@@ -177,3 +177,65 @@
|
|
177
177
|
echo json_encode(["utcms_from1970" => $time]);
|
178
178
|
|
179
179
|
```
|
180
|
+
|
181
|
+
(追記1)
|
182
|
+
|
183
|
+
状態遷移図書いてみました。
|
184
|
+
|
185
|
+
![イメージ説明](ba631b94ea03c52532162d3c43e0c0ed.png)
|
186
|
+
|
187
|
+
teratailではsvg使えないみたいなので、↑はPNGですが、元は↓のSVGです。
|
188
|
+
|
189
|
+
```svg
|
190
|
+
|
191
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="151px" preserveAspectRatio="none" style="width:1173px;height:151px;background:#FFFFFF;" version="1.1" viewBox="0 0 1173 151" width="1173px" zoomAndPan="magnify"><defs><filter height="300%" id="flbkmc7f8q21n" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><ellipse cx="74" cy="16" fill="#000000" filter="url(#flbkmc7f8q21n)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><g id="初期状態"><rect fill="#FEFECE" filter="url(#flbkmc7f8q21n)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="134" x="7" y="87"/><line style="stroke:#A80036;stroke-width:1.5;" x1="7" x2="141" y1="113.2969" y2="113.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56" x="46" y="104.9951">初期状態</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="114" x="12" y="129.4355">(0)タイマ動いてない</text></g><g id="タイマ動作中"><rect fill="#FEFECE" filter="url(#flbkmc7f8q21n)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="226" x="381" y="87"/><line style="stroke:#A80036;stroke-width:1.5;" x1="381" x2="607" y1="113.2969" y2="113.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="452" y="104.9951">タイマ動作中</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="206" x="386" y="129.4355">(正の整数)タイムアウトするUTC[ms]</text></g><g id="タイマ一時停止中"><rect fill="#FEFECE" filter="url(#flbkmc7f8q21n)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="322" x="837" y="87"/><line style="stroke:#A80036;stroke-width:1.5;" x1="837" x2="1159" y1="113.2969" y2="113.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="112" x="942" y="104.9951">タイマ一時停止中</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="302" x="842" y="129.4355">(負の整数)タイムアウトまでの残り時間を符号反転[ms]</text></g><!--MD5=[deaffe79b3ee21e90318abb8f74e4bd6]
|
192
|
+
|
193
|
+
link *start to 初期状態--><path d="M74,26.013 C74,38.698 74,62.4093 74,81.5698 " fill="none" id="*start-to-初期状態" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="74,86.8404,78,77.8404,74,81.8404,70,77.8404,74,86.8404" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[d30e3980f9843bd17f71c4a10a4dad22]
|
194
|
+
|
195
|
+
link 初期状態 to タイマ動作中--><path d="M141.32,124.398 C161.265,127.5283 183.199,130.4416 203.5,132 C260.143,136.3482 323.034,133.0252 375.773,127.9279 " fill="none" id="初期状態-to-タイマ動作中" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="380.844,127.4292,371.4953,124.3305,375.8681,127.9192,372.2793,132.292,380.844,127.4292" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="113" x="204.5" y="128.0669">update(toggle=1)</text><!--MD5=[f4aff1e9f12684eed04a722415600c46]
|
196
|
+
|
197
|
+
link タイマ動作中 to 初期状態--><path d="M380.961,112 C306.382,112 210.899,112 146.381,112 " fill="none" id="タイマ動作中-to-初期状態" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="141.015,112,150.015,116,146.015,112,150.015,108,141.015,112" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="203" x="159.5" y="105.0669">update(toggle=1)[残り時間<=0]</text><!--MD5=[528ec752e90b9c75408ab4ceb4f5b690]
|
198
|
+
|
199
|
+
link タイマ動作中 to タイマ一時停止中--><path d="M607.107,112 C673.145,112 757.689,112 831.248,112 " fill="none" id="タイマ動作中-to-タイマ一時停止中" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="836.525,112,827.525,108,831.525,112,827.525,116,836.525,112" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="193" x="625.5" y="105.0669">update(toggle=1)[残り時間>0]</text><!--MD5=[824f9ec85e989e5fe711c3d4bd431b3b]
|
200
|
+
|
201
|
+
link タイマ一時停止中 to タイマ動作中--><path d="M836.858,129.3611 C782.151,133.2067 720.667,135.283 664.5,132 C647.648,131.015 629.906,129.4868 612.494,127.704 " fill="none" id="タイマ一時停止中-to-タイマ動作中" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="607.102,127.1429,615.6386,132.0547,612.075,127.6614,616.4683,124.0978,607.102,127.1429" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="113" x="665.5" y="128.0669">update(toggle=1)</text><!--MD5=[7650aa9408f90a6e04a087846f450031]
|
202
|
+
|
203
|
+
@startuml
|
204
|
+
|
205
|
+
[*] - -> 初期状態
|
206
|
+
|
207
|
+
初期状態 : (0)タイマ動いてない
|
208
|
+
|
209
|
+
初期状態-> タイマ動作中:update(toggle=1)
|
210
|
+
|
211
|
+
タイマ動作中 : (正の整数)タイムアウトするUTC[ms]
|
212
|
+
|
213
|
+
タイマ動作中->タイマ一時停止中:update(toggle=1)[残り時間>0]
|
214
|
+
|
215
|
+
タイマ一時停止中 : (負の整数)タイムアウトまでの残り時間を符号反転[ms]
|
216
|
+
|
217
|
+
タイマ一時停止中->タイマ動作中:update(toggle=1)
|
218
|
+
|
219
|
+
タイマ動作中->初期状態:update(toggle=1)[残り時間<=0]
|
220
|
+
|
221
|
+
@enduml
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
PlantUML version 1.2021.11beta1(Unknown compile time)
|
226
|
+
|
227
|
+
(GPL source distribution)
|
228
|
+
|
229
|
+
Java Runtime: Java(TM) SE Runtime Environment
|
230
|
+
|
231
|
+
JVM: Java HotSpot(TM) 64-Bit Server VM
|
232
|
+
|
233
|
+
Default Encoding: UTF-8
|
234
|
+
|
235
|
+
Language: en
|
236
|
+
|
237
|
+
Country: US
|
238
|
+
|
239
|
+
--></g></svg>
|
240
|
+
|
241
|
+
```
|
1
ファイル名が違っていたため修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
MySQLではなく、ファイル``./time
|
5
|
+
MySQLではなく、ファイル``./time.txt``を作成してそこに保存してます。
|
6
6
|
|
7
7
|
ajaxでは残り時間ではなく、タイムアウトする時刻のようなもの(0と負値は意味が違う)を返しています。
|
8
8
|
|