Hatena::Groupmoz-addon

Ci.nsIZIGOROu

2008-05-20

SQLiteのdatetime型とDateオブジェクトの相互変換ライブラリ

| 15:22 |  SQLiteのdatetime型とDateオブジェクトの相互変換ライブラリ - Ci.nsIZIGOROu を含むブックマーク はてなブックマーク -  SQLiteのdatetime型とDateオブジェクトの相互変換ライブラリ - Ci.nsIZIGOROu

ソース

var DateTimeFormat = {
  patten: /^(19[7-9]\d|[2-9]\d{3})-(0\d|1[0-2])-(0[1-9]|[12]\d|3[01]) ([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/,
  format_datetime: function(aDate) {
	return ([aDate.getUTCFullYear(), aDate.getUTCMonth(), aDate.getUTCDate()]).map(function(item) { return DateTimeFormat.format(item, 2); }).join('-') + ' ' + ([aDate.getUTCHours(), aDate.getUTCMinutes(), aDate.getUTCSeconds()]).map(function(item) { return DateTimeFormat.format(item, 2); }).join(':');
  },
  parse_datetime: function(aDateStr) {
	var match;
	if (match = DateTimeFormat.patten.exec(aDateStr)) {
	  var args = Array.prototype.splice.call(match, 1, 6);
	  var aDate = new Date(Date.UTC.apply(Date, args));
	  return aDate;
	}
	else {
	  return;
	}
  },
  format: function(num, size) {
	var fill = size - num.toString().length;
	if (fill > 0)
	  return Array(fill + 1).join('0') + num.toString();
	else
	  return num.toString();
  }
};