【javascript】PHPライクの日時フォーマット関数

var DateTime = {
	Format: function (date, format) {
		var result = format;
		var week = ['日', '月', '火', '水', '木', '金', '土'];
		var replacement = {
			'%d' : DateTime.FillZero(date.getDate()),
			'%j' : date.getDate(),
			'%w' : week[date.getDay()],
			'%N' : date.getDay(),
			'%W' : DateTime.WeekNumber(date),
			'%y' : date.getFullYear() % 100,
			'%Y' : date.getFullYear(),
			'%m' : DateTime.FillZero(date.getMonth() + 1),
			'%n' : date.getMonth() + 1,
			'%G' : date.getHours(),
			'%H' : DateTime.FillZero(date.getHours()),
			'%i' : DateTime.FillZero(date.getMinutes()),
			'%s' : DateTime.FillZero(date.getSeconds()),
			'%u' : date.getMilliseconds()
		};
		var key;
		
		for (key in replacement) {
			result = result.replace(key, replacement[key]);
		}
		
		return result;
	},
	FillZero: function (number) {
		return number < 10 ? '0' + number : number;
	},
	WeekNumber: function (date) {
		var firstDate = new Date(date.getFullYear(), 0, 1);
		var numberOfDays = Math.floor((date - firstDate) / 24 / 60 / 60 / 1000);
		return Math.ceil((date.getDay() + 1 + numberOfDays) / 7);
	}
};
【引数】
  • date: Date変数
  • format: 出力フォーマット
【使い方】
DateTime.Format(new Date(), '%Y-%m-%d %H:%i:%s');