回答編集履歴
2
step属性について追記
test
CHANGED
@@ -43,3 +43,15 @@
|
|
43
43
|
</html>
|
44
44
|
|
45
45
|
```
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
なおデフォルトでは入力は60秒単位、つまり分までしか取り扱いません。もし秒まで取り扱いたい場合は `step="1"` 属性を追加し、分解能を1秒に変更してください。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
```php
|
54
|
+
|
55
|
+
<input type="datetime-local" value="<?= $date->format('Y-m-d\TH:i:s') ?>" step="1">
|
56
|
+
|
57
|
+
```
|
1
回答をブラッシュアップ
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
datetime-local の値は ISO 8601 に準拠していなければなりません。
|
1
|
+
すでにお分かりの通り datetime-local の値は ISO 8601 に準拠していなければなりません。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -6,7 +6,19 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
+
つまり、date() および DateTime::format() に渡す書式指定文字は `Y-m-d\TH:i` となります。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
また input フォームの初期値は value 属性にセットすることで反映されます。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
[<input type="datetime-local">-HTML5タグリファレンス](http://www.htmq.com/html5/input_type_datetime-local.shtml)
|
18
|
+
|
19
|
+
|
20
|
+
|
9
|
-
|
21
|
+
まとめるとこんな感じのコードになります:
|
10
22
|
|
11
23
|
|
12
24
|
|
@@ -14,7 +26,7 @@
|
|
14
26
|
|
15
27
|
<?php
|
16
28
|
|
17
|
-
$
|
29
|
+
$date = new DateTime('2017-10-11 09:20:30');
|
18
30
|
|
19
31
|
?>
|
20
32
|
|
@@ -24,11 +36,7 @@
|
|
24
36
|
|
25
37
|
<body>
|
26
38
|
|
27
|
-
<form>
|
28
|
-
|
29
|
-
<input type="datetime-local" value="<?= date('Y-m-d\TH:i'
|
39
|
+
<form><input type="datetime-local" value="<?= $date->format('Y-m-d\TH:i') ?>"></form>
|
30
|
-
|
31
|
-
</form>
|
32
40
|
|
33
41
|
</body>
|
34
42
|
|