質問編集履歴

2

修正

2017/03/02 10:36

投稿

san11
san11

スコア14

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- ###下記の回答を参考にさせて頂き動作が確認出来ましたので記載致します。
55
+ ###下記の回答を参考にさせて頂き動作が確認出来ましたのでコードを記載致します。
56
56
 
57
57
 
58
58
 
@@ -150,6 +150,10 @@
150
150
 
151
151
  //ミリ秒まで取得
152
152
 
153
+ //debug()だとミリ秒まで表示されないがformat()で表示されました
154
+
155
+ //i18nFormatでも何故かミリ秒が表示されませんでした
156
+
153
157
  $item->created->format('Y-m-d H:i:s.u')
154
158
 
155
159
  ```

1

コード追記

2017/03/02 10:36

投稿

san11
san11

スコア14

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,111 @@
45
45
 
46
46
 
47
47
  よろしくお願い致します。
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+ ###下記の回答を参考にさせて頂き動作が確認出来ましたので記載致します。
56
+
57
+
58
+
59
+ ```PHP
60
+
61
+ //bootstrap.php
62
+
63
+ Type::map('dtm', 'App\Database\Type\DateTimeMilliType');
64
+
65
+ Type::build('dtm')
66
+
67
+ ->useImmutable();
68
+
69
+ ```
70
+
71
+
72
+
73
+ ```PHP
74
+
75
+ //DateTimeMilliType.php
76
+
77
+ namespace App\Database\Type;
78
+
79
+
80
+
81
+ use Cake\Database\Type\DateTimeType;
82
+
83
+ use Cake\Database\Driver;
84
+
85
+
86
+
87
+ class DateTimeMilliType extends DateTimeType {
88
+
89
+
90
+
91
+ protected $_format = 'Y-m-d H:i:s.u';
92
+
93
+
94
+
95
+ public function toPHP($value, Driver $driver) {
96
+
97
+ if ($value === null || strpos($value, '0000-00-00') === 0) {
98
+
99
+ return null;
100
+
101
+ }
102
+
103
+
104
+
105
+ if (strpos($value, '.') !== false) {
106
+
107
+ //list($value) = explode('.', $value);
108
+
109
+ }
110
+
111
+
112
+
113
+ $instance = clone $this->_datetimeInstance;
114
+
115
+ $tmp_obj = $instance->createFromFormat('Y-m-d H:i:s.u', $value);
116
+
117
+ return $tmp_obj;
118
+
119
+ }
120
+
121
+
122
+
123
+ }
124
+
125
+ ```
126
+
127
+
128
+
129
+ ```PHP
130
+
131
+ //table
132
+
133
+ protected function _initializeSchema(Schema $schema) {
134
+
135
+
136
+
137
+ $schema->columnType("modified", 'dtm');
138
+
139
+ $schema->columnType("created", 'dtm');
140
+
141
+ return $schema;
142
+
143
+ }
144
+
145
+ ```
146
+
147
+
148
+
149
+ ```PHP
150
+
151
+ //ミリ秒まで取得
152
+
153
+ $item->created->format('Y-m-d H:i:s.u')
154
+
155
+ ```