回答編集履歴
1
add
answer
CHANGED
@@ -1,7 +1,21 @@
|
|
1
|
-
Smarty の date_format はとても気持ち悪い実装になっておりまして・・・次のようにしても大丈夫です。
|
1
|
+
Smarty の `date_format` はとても気持ち悪い実装になっておりまして・・・次のようにしても大丈夫です。
|
2
2
|
|
3
3
|
```
|
4
4
|
{$hoge.hoge_start|date_format:"Y年n月"}
|
5
5
|
```
|
6
6
|
|
7
|
-
※Smarty2 だとどうなのかは判りません。
|
7
|
+
※Smarty2 だとどうなのかは判りません。
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
> Warning: Invalid CRT parameters detected
|
12
|
+
|
13
|
+
なお、このエラーは恐らく下記の理由により発生しています。
|
14
|
+
|
15
|
+
- Smarty の `date_format` は(普通は)PHP の `strftime` を使用している
|
16
|
+
- PHP の `strftime` は OS の `strftime` を使用している
|
17
|
+
- Windows と Linux で `strftime` で使用可能な書式が微妙に違う
|
18
|
+
|
19
|
+
一方 `date_format` で `%` を使わなければ PHP の `date` が使われます。
|
20
|
+
|
21
|
+
PHP の `date` は PHP 内部で実装されているので(だったはず)、`strftime` のような OS に依存する問題は起こりにくいです。
|