以下の問題については、本家に改善の提案(Custom date-time formats)済みです。
現在、有志により jQuery を使用したカスタム日付フィールドが提案されており、この方法によるものかどうかは定かではありませんが、近い将来(おそらく Drupal 6.0)には改善される可能性があります。(07/02/16 時点でのパッチにはバグ有り02/17 修正を確認)
2007/05/15 現在、次期バージョンでの改善が決定しました。
<< CHANGELOG.txt >>
- Usability:
* Made it possible to configure your own date formats. (独自の日付形式が設定できるようにしました)
Drupalはコンテンツの投稿日時の表示形式が、主に英語圏で使われるようなものしか用意されていません。このため、日本語環境で使うには少々難があります。
この問題を解消するためには、以下のような修正を行ってください。
修正するモジュール: modules/system.module
Ver. 4.6.5 の場合は260行目(他のバージョンでは同様の行)
$dateshort = array('Y-m-d H:i','m/d/Y - H:i', 'd/m/Y - H:i', 'Y/m/d - H:i',
'm/d/Y - g:ia', 'd/m/Y - g:ia', 'Y/m/d - g:ia',
'M j Y - H:i', 'j M Y - H:i', 'Y M j - H:i',
'M j Y - g:ia', 'j M Y - g:ia', 'Y M j - g:ia');
$datemedium = array('D, Y-m-d H:i', 'D, m/d/Y - H:i', 'D, d/m/Y - H:i',
'D, Y/m/d - H:i', 'F j, Y - H:i', 'j F, Y - H:i', 'Y, F j - H:i',
'D, m/d/Y - g:ia', 'D, d/m/Y - g:ia', 'D, Y/m/d - g:ia',
'F j, Y - g:ia', 'j F, Y - g:ia', 'Y, F j - g:ia');
$datelong = array('l, F j, Y - H:i', 'l, j F, Y - H:i', 'l, Y, F j - H:i',
'l, F j, Y - g:ia', 'l, j F, Y - g:ia', 'l, Y, F j - g:ia');
の各"$datexxxx = array(~"の直下に次のように行を追加します。
$dateshort = array('Y-m-d H:i','m/d/Y - H:i', 'd/m/Y - H:i', 'Y/m/d - H:i',
'm/d/Y - g:ia', 'd/m/Y - g:ia', 'Y/m/d - g:ia',
'M j Y - H:i', 'j M Y - H:i', 'Y M j - H:i',
'M j Y - g:ia', 'j M Y - g:ia', 'Y M j - g:ia');
$datemedium = array('D, Y-m-d H:i', 'D, m/d/Y - H:i', 'D, d/m/Y - H:i',
'Y-m-d D H:i', // 追加
'D, Y/m/d - H:i', 'F j, Y - H:i', 'j F, Y - H:i', 'Y, F j - H:i',
'D, m/d/Y - g:ia', 'D, d/m/Y - g:ia', 'D, Y/m/d - g:ia',
'F j, Y - g:ia', 'j F, Y - g:ia', 'Y, F j - g:ia');
$datelong = array('l, F j, Y - H:i', 'l, j F, Y - H:i', 'l, Y, F j - H:i',
'Y年 n月 j日 l - H:i', // 追加
'l, F j, Y - g:ia', 'l, j F, Y - g:ia', 'l, Y, F j - g:ia');
ここで追加した行にある日付形式はあくまでも一例です。これら以外に自分の好きなように形式を作りたい場合は、PHP: dateの「表 1.」を参考にして日付形式を作り、同じようにシングルクォート(')で括り、その後ろにコンマ(,)を付けて追加してください。
なお、上記のように漢字などを入れる場合は、必ず UTF-8N で保存してください。
これらの作業が終了後、admin/settings の日付の設定項目で、追加した日付形式が選択可能になります。