Dateオブジェクトの拡張

ここでは、なんちゃってprototype.jsを利用してObject.extend(クラスの継承)を利用します。

<script type="text/javascript">

var dateSample = new Date();       // 拡張されたDateオブジェクトを生成する

function test(num) {
  switch (num) {
    case 1:  alert(dateSample.getWeekJP()); break;   // 曜日を日本語で取得
    case 2:  alert(dateSample.YMDtmsJP()); break;    // 年月日時刻を日本語で取得
    case 3:  alert(dateSample.YMDJP()); break;       // 年月日を日本語で取得
    case 6:  alert(dateSample.getEraYJP()); break;   // 年月日を日本語/和暦で取得
    case 4:  alert(dateSample.tmsJP()); break;       // 時刻を日本語で取得
    case 5:  alert(dateSample.tmsAmPmJP()); break;   // 時刻を12時間計の日本語で取得
    default: alert("引数を確認してください");
  }
}
</script>

以下に、Dateオブジェクト拡張のソースコードを記述します。

<script type="text/javascript" src="/AJAX/prototype.js" charset="utf-8"></script>
<script type="text/javascript">
var gWeeksEN = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
var gWeeksJP = new Array("日", "月", "火", "水", "木", "金", "土");

Object.extend(Date.prototype, {
    Version:        '1.0.0',
    Description:    'Dateオブジェクトの拡張',
    // 曜日(日本語)を取得
    getWeekJP: function () {
        return gWeeksJP[this.getDay()];
    },
    // 年月日時刻(日本語)を返却
    YMDtmsJP: function () {
            var YMD = this.getYMD ();
            var TMS = this.getTMS ();
            return YMD[0]+"年"+YMD[1]+"月"+YMD[2]+"日("+this.getWeekJP()+") "+TMS[0]+"時"+TMS[1]+"分"+TMS[2]+"秒";
    },
    // 年月日(日本語)を返却
    YMDJP: function () {
            var YMD = this.getYMD ();
            return YMD[0]+"年"+YMD[1]+"月"+YMD[2]+"日("+this.getWeekJP()+") ";
    },
    // 時刻(日本語)を返却
    tmsJP: function () {
            var TMS = this.getTMS ();
            return TMS[0]+"時"+TMS[1]+"分"+TMS[2]+"秒";
    },
    // 時刻12(日本語)を返却
    tmsAmPmJP: function () {
            var TMS12 = this.getTMS12JP ();
            return TMS12[3]+" "+TMS12[0]+"時"+TMS12[1]+"分"+TMS12[2]+"秒";
    },
    // 年月日を配列で取得
    getYMD: function () {
            return [this.getFullYear(), this.get0Month(), this.get0Date()];
    },
    // 時刻を配列で取得
    getTMS: function () {
            return [this.get0Hours(), this.get0Minutes(), this.get0Seconds()];
    },
    // 時刻を12時間変換した配列で取得
    getTMS12JP: function () {
            var t = (this.getHours() > 12) ?    this.getHours()-12 : this.getHours();
            t = (t >= 10)? t:"0"+t;
            return [t, this.get0Minutes(), this.get0Seconds(), (this.getHours() > 12) ? "午後":"午前"];
    },
    // 2桁(0パディング)月の値を取得
    get0Month: function () {
            return (this.getMonth()+1 >= 10) ? this.getMonth()+1 : "0" + (this.getMonth()+1) ;
    },
    // 2桁(0パディング)日の値を取得
    get0Date: function () {
            return (this.getDate() >=10) ? this.getDate() : "0" + this.getDate() ;
    },
    // 2桁(0パディング)時の値を取得
    get0Hours: function () {
            return (this.getHours() >= 10) ?    this.getHours() : "0" + this.getHours();
    },
    // 2桁(0パディング)分の値を取得
    get0Minutes: function () {
            return (this.getMinutes() >= 10) ?    this.getMinutes() : "0" + this.getMinutes();
    },
    // 2桁(0パディング)秒の値を取得
    get0Seconds: function () {
            return (this.getSeconds() >= 10) ?    this.getSeconds() : "0" + this.getSeconds();
    }
});
</script>

APIで旧暦取得

ここに。。。

TOPへ


inserted by FC2 system