皆さん、あけましておめでとうございます。岩舘電気の中の人です。
中の人にとって、昨年は大変に忙しい年でしたが、皆さんにとってはどんな年だったでしょうか。
われわれは今年も昨年以上に皆さんに「いわての光」を届けられるよう全力で邁進する所存です。
どうぞ今年も宜しくお願いいたします。
さて、昨年末に、サイボウズのカスタムアプリの日付型から現在年齢を計算させるスクリプトを公開しました。
http://qiita.com/iwadatedenki/items/b3ce789868a1708d40af
この記事の文末で、西暦を和暦に変換するスクリプトも作りたいと書きましたが、作ってみたので早速公開します。
(2015/02/12追記:DBView のみならず、アップデートや新規追加画面でも書き換えをしてしまっていました。修正が必要ですので少々お待ちください。)
$(document).ready(function () {
WesternJapaneseCalendarConverter("record-value-12",133);
function WesternJapaneseCalendarConverter(tdclass, app_num){ //変換したい列, アプリID
var did = $(':hidden[name="DID"]').val();
if (did==app_num){
var $tdobj=$("td").each(function(){
if(typeof(this)!="number"){
if(this.getAttribute("className")==tdclass||this.getAttribute("class")==tdclass){
var b=new Date(this.innerHTML);
if (b.getFullYear()<=1988){
var prefix="S"+(b.getFullYear()-1925);
} else if (b.getFullYear()>=1990) {
var prefix="H"+(b.getFullYear()-1988);
} else if (b.getMonth()==1||b.getDate()<=7) {
var prefix="S64";
} else {
var prefix="H1";
}
var s=this.innerHTML;
this.innerHTML=prefix+s.substring(4);
}
}
});
}
}
});
実行した結果のサンプルはこちらです。なおこのサンプルでは、前回使った年齢計算スクリプトも動かしています。
左が変換前、右が返還後のサンプルです。
⇒
こちらのスクリプトを前回作成した年齢計算スクリプトと共存させるには、先に年齢を計算させてから和暦変換する必要があります。(日付を取り出すパーサーが、後方の文字列を無視してくれるのでしょう。)あるいは、年齢を書きだす専用の列を作っておいてそちらに年齢を書きだし、オリジナルの日付の列は非破壊にしておくというのも良い方法かもしれません。
次は西暦和暦を変換させるボタンを表示させて、相互変換できるようにしたいです。