昔、Afterlogic Webmail の日付表記について記事を書きました(リンク)。
↑海外製Webアプリケーションあるある
その記事の内容では元も子もないので、とりあえず簡単な修正方法を書いておきます。
デフォルトの書式は adminpanel からドメインごとに設定しますが、実際日付の表示は、JavaScriptで制御されています。
書式もいろいろあります。
‘ddd, MMM D, YYYY’ ‘dd MM yy’ ‘MMMM YYYY’ ‘MMMM D, YYYY’ ‘MMM D, YYYY’ ‘MMM D’ ‘MM/DD/YYYY’ ‘DD/MM/YYYY’ ‘DD MMMM YYYY’ ‘ *** D MMMM, YYYY, HH:mm:ss *** ‘ “MMMM D[ YYYY]{ ‘-‘[ MMMM] D YYYY}”
なので簡単に直すにはJSファイルを書き換えます。
メールの一覧やプレビューの日付は static/js/app.js (実際読み込まれるのは app.min.js)で設定されているみたいです。
こんな感じでソースとにらめっこしながら修正していきます(文字コードはUTF-8で保存すること)。
1323c1323 < aNewRow.push(moment().format(‘ *** D MMMM, YYYY, HH:mm:ss *** ‘)); > aNewRow.push(moment().format(‘ *** YYYY/MM/D HH:mm:ss *** ‘)); 2105c2105 < var sMomentDateFormat = ‘MM/DD/YYYY’; > var sMomentDateFormat = ‘YYYY/MM/DD’; 2110c2110 < sMomentDateFormat = ‘MM/DD/YYYY’; > sMomentDateFormat = ‘YYYY/MM/DD’; 2113c2113 < sMomentDateFormat = ‘DD/MM/YYYY’; > sMomentDateFormat = ‘YYYY/MM/DD’; 2116c2116 < sMomentDateFormat = ‘DD MMMM YYYY’; > sMomentDateFormat = ‘YYYY年MM月D日’; 17402c17402 < return (this.oMoment) ? this.oMoment.format(‘ddd, MMM D, YYYY, ‘ + this.getTimeFormat()) : ”; > return (this.oMoment) ? this.oMoment.format(‘YYYY年M月D日(ddd) ‘ + this.getTimeFormat()) : ”; 17441c17441 < sResult = this.oMoment.format(‘MMM D’); > sResult = this.oMoment.format(‘MM月D日’); 17445c17445 < sResult = this.oMoment.format(‘MMM D, YYYY’); > sResult = this.oMoment.format(‘YYYY年MM月D日’); 17463c17463 < return (this.oMoment) ? this.oMoment.format(‘ddd, MMM D, YYYY’) : ”; > return (this.oMoment) ? this.oMoment.format(‘YYYY年MM月D日(ddd)’) : ”; 36716c36716 < day: ‘MMMM D, YYYY’ // Tuesday, Sep 8, 2009 > day: ‘YYYY年MM月D日’ // Tuesday, Sep 8, 2009 37238c37238 < var oDate = this.getFCObject().moment(sDate, ‘MM/DD/YYYY’); > var oDate = this.getFCObject().moment(sDate, ‘YYYY/MM/DD’); 37274c37274 < sTitle = oDate.format(‘MMMM YYYY’), > sTitle = oDate.format(‘YYYY年MM月’), 37282c37282 < sTitle = oDate.format(‘MMMM D, YYYY’); > sTitle = oDate.format(‘YYYY年MM月D日’); 37287c37287 < sTitle = oStart.format(‘MMMM D, YYYY’) + ‘ – ‘ + oEnd.format(‘MMMM D, YYYY’); > sTitle = oStart.format(‘YYYY年MM月D日’) + ‘ – ‘ + oEnd.format(‘YYYY年MM月D日’);
app.min.jsに適用してみると表記がちゃんとなったことがわかります。
ちゃんと直すならほかのファイルもチェックしてくださいね。
せっかくadminpanelで日付のフォーマット指定ができるのにもっと美しく直せないものかと思います。
ソースをフォークして「YYYY/MM/DD」形式を選択できるようにするくらいなら出来そうかな。