Template‐ノート:ISOdate
導入
[編集]コモンズの{{ISOdate}}テンプレートを移入改変しました。
コモンズのものとの動作のちがいは、表示形式が日本語固定であること、日付のあとにdisplay:none;でISO形式の日付を挿入していないことです。 --Hatukanezumi 2010年5月5日 (水) 12:49 (UTC)
1桁の月・1桁の日が 1桁のままで記入された場合
[編集]節を追加するにあたり、上の説明にも見出しを追加させていただきました。
現在、「 {{ISOdate|2011-02-03}} 」と記入すれば「 2011年2月3日 」に変換されるのに、「 {{ISOdate|2011-2-3}} 」と記入した場合は変換されず、そのまま「 2011-2-3 」と表示されます。1桁の月・1桁の日が 1桁のままで記入された場合も変換されるよう改善を希望します。対応させる方法は、条件分岐でゴリゴリと複雑にするのではなく、必要な箇所に「 {{#time:Y-m-d|{{{1|}}}}} 」というような事前変換を追加すれば、意外にシンプルに対応できるのではないかと思います。--しまあじ 2011年10月1日 (土) 03:29 (UTC) + 当節の見出しを修正--しまあじ 2011年10月1日 (土) 03:39 (UTC)
- 確かに1桁で記入してしまった場合の救済は欲しいです。ただ、現状1桁に対応していない理由がそもそものISO 8601で2桁の書式しか認めていないためではないでしょうか。ISO 8601は見られない代わりにJIS X 0301を確認したところそのようでした。そのため、私はあまり賛成できません。
- それではあんまりなので、次善策として「引数にそのほかのものを与えた場合は、そのまま表示します。」を変更して、その手の入力はエラー表示するというのはいかがでしょうか。できれば、1桁で入力してもsubst的に2桁へ展開することが可能なら、それが最良だと思っているのですが。--Wdpp 2011年10月1日 (土) 16:19 (UTC)
- はい、なぜこれに気がついたかといいますと、ISOを意識するほどでもないであろう単純な日付表示にまで、このテンプレートが使用されていたからなのです。具体的にいうと {{Cite web}}です。他のテンプレートへの影響もありますので、まだ試行段階ですが、この{{ISOdate}}の内部を改変するのではなく、とりあえずそのテンプレート専用の内部テンプレートに置きかえてみようと試みています。「Template‐ノート:Cite web#Template:ISOdate について」をご参照ください。現状の各記事に貼られている{{Cite web}}に記入されている日付は、ISOどころではなく各投稿者の自己流記入のオンパレードであり、ISOに沿っていない日付記入がされている{{Cite web}}のある記事は、大雑把に調べてみただけですが、2千記事くらいありまして、それらの記事すべてにエラーメッセージを表示させてしまったらオオゴトになりますので。--しまあじ 2011年10月1日 (土) 16:51 (UTC)
- このテンプレートを改変するのではなく、このテンプレートを使用しないという方向を選びましたので取り下げます。--しまあじ 2011年10月3日 (月) 02:35 (UTC)
表の日付表示で大量に使うと変換されなくなります
[編集]国鉄205系電車の特別:固定リンク/100990968のように、大量に{{ISOdate}}を使うと処理落ちします。このときのパフォーマンスデータはいかにもオーバーフローを起こしているようには見えないのですが、最後のほうが変換されずに残ります。
項目 | 値 |
---|---|
CPU 時間 | 2.837 秒 |
実時間 | 3.183 秒 |
プリプロセッサが訪問したノード数 | 155,284/1,000,000 |
参照読み込みの展開後のサイズ | 1,307,712/2,097,152 バイト |
テンプレート引数のサイズ | 285,681/2,097,152 バイト |
展開の最大深さ | 40/100 |
高負荷パーサー関数の数 | 2/500 |
"unstrip" を再帰的に実行する回数 | 1/20 |
展開後読み込み量を解除する | 355,843/5,000,000 バイト |
Lua 実行時間 | 0.432/10.000 秒 |
Lua のメモリ使用量 | 7,893,075/52,428,800 バイト |
ウィキベースエンティティの読み込み回数 | 1/400 |
明らかに処理が重たいのは解るのですが、あきらめてsubsu: 展開するか、テンプレートをLuaで書き換えたほうが良いのかもしれませんね。