タグを生成

追記:Bookmarkletとして実行するとm%60の部分がURLデコードされて構文エラーとなってしまうのを修正(とりあえず%の直後に空白を追加)

(function(){
	
	/* タイムスタンプを取得 */
	javascript:
	var d = new Date(), 
		o = d.getTimezoneOffset(), 
		m = Math.abs(o), 
		s = d.getFullYear() + 
			'-' + ('0' + (d.getMonth()+1)).slice(-2) + 
			'-' + ('0' + d.getDate()).slice(-2) + 
			'T' + ('0' + d.getHours()).slice(-2) + 
			':' + ('0' + d.getMinutes()).slice(-2) + 
			':' + ('0' + d.getSeconds()).slice(-2) + 
			(o < 0 ? '-' : '+') + ('0' + Math.floor(m / 60)).slice(-2) + 
			':' + ('0' + (m % 60)).slice(-2);
	prompt('TimeStamp(ISO 8601)', s);
	
	// 1行にまとめたもの
	javascript:
	var d=new Date,o=d.getTimezoneOffset(),m=Math.abs(o),s=d.getFullYear()+'-'+('0'+(d.getMonth()+1)).slice(-2)+'-'+('0'+d.getDate()).slice(-2)+'T'+('0'+d.getHours()).slice(-2)+':'+('0'+d.getMinutes()).slice(-2)+':'+('0'+d.getSeconds()).slice(-2)+(o<0?'-':'+')+('0'+Math.floor(m/60)).slice(-2)+':'+('0'+(m% 60)).slice(-2);prompt('TimeStamp(ISO 8601)',s)
	
	/* 短縮化 */
	javascript:
	var d = new Date, o = d.getTimezoneOffset(), m = Math.abs(o), s = d.getFullYear();
	with(d){['-','-','T',':',':',o<0?'-':'+',':'].forEach(function(e,i){
		s+=e+('0'+[getMonth()+1,getDate(),getHours(),getMinutes(),getSeconds(),Math.floor(m/60),m% 60][i]).slice(-2)
	})}
	prompt('TimeStamp(ISO 8601)', s);
	
	// 1行にまとめたもの
	javascript:var d=new Date,o=d.getTimezoneOffset(),m=Math.abs(o),s=d.getFullYear();with(d){['-','-','T',':',':',o<0?'-':'+',':'].forEach(function(e,i){s+=e+('0'+[getMonth()+1,getDate(),getHours(),getMinutes(),getSeconds(),Math.floor(m/60),m% 60][i]).slice(-2)})}prompt('TimeStamp(ISO 8601)',s);void(0)
	
	/* <ins>タグを生成 */
	javascript:
	var i = prompt('タグの内容', ''), d = new Date, o = d.getTimezoneOffset(), m = Math.abs(o), s = d.getFullYear();
	with(d){['-','-','T',':',':',o<0?'-':'+',':'].forEach(function(e,i){
		s+=e+('0'+[getMonth()+1,getDate(),getHours(),getMinutes(),getSeconds(),Math.floor(m/60),m% 60][i]).slice(-2)
	})}
	if(i)prompt('TimeStamp(ISO 8601)', '<ins datetime="' + s + '">' + i + '</ins>');
	
	// 1行にまとめたもの
	javascript:var i=prompt('タグの内容',''),d=new Date,o=d.getTimezoneOffset(),m=Math.abs(o),s=d.getFullYear();with(d){['-','-','T',':',':',o<0?'-':'+',':'].forEach(function(e,i){s+=e+('0'+[getMonth()+1,getDate(),getHours(),getMinutes(),getSeconds(),Math.floor(m/60),m% 60][i]).slice(-2)})}if(i)prompt('TimeStamp(ISO 8601)','<ins datetime="'+s+'">'+i+'</ins>');void(0)
	
})();