mineko のプロフィール写真

投稿者:

[ALWL]日付の表記(再考)

2016 年 3 月 26 日 (AfterLogic Webmail Lite PHP)

昔、Afterlogic Webmail の日付表記について記事を書きました(リンク)。

20160326_1
↑海外製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に適用してみると表記がちゃんとなったことがわかります。

20160326_2

ちゃんと直すならほかのファイルもチェックしてくださいね。

せっかくadminpanelで日付のフォーマット指定ができるのにもっと美しく直せないものかと思います。
ソースをフォークして「YYYY/MM/DD」形式を選択できるようにするくらいなら出来そうかな。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です