Utente:MauroBot/BotCancellazioni/dateFunctions.js/sandbox.js

Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.


Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.

'use strict';

var DelBot = DelBot || {};

/**
 * Convert a month name to a month number (0-11)
 *
 * @param monthName {string} e.g. 'gennaio'
 * @return {int} e.g. 0
 */
DelBot.monthName2MonthNumber = function ( monthName ) {
	switch( monthName ) {
		case 'gennaio':   return 0;
		case 'febbraio':  return 1;
		case 'marzo':     return 2;
	 	case 'aprile':    return 3;
		case 'maggio':    return 4;
		case 'giugno':    return 5;
		case 'luglio':    return 6;
		case 'agosto':    return 7;
		case 'settembre': return 8;
		case 'ottobre':   return 9;
		case 'novembre':  return 10;
		case 'dicembre':  return 11;
	}
	throw 'unexpected month name';
};

/**
 * Convert a month number (0-11) to a month name
 *
 * @param monthNumber {int} e.g. 0
 * @return {string} e.g. 'gennaio'
 */
DelBot.monthNumber2MonthName = function ( monthNumber ) {
	switch( monthNumber ) {
		case 0:  return 'gennaio';
		case 1:  return 'febbraio';
		case 2:  return 'marzo';
		case 3:  return 'aprile';
		case 4:  return 'maggio';
		case 5:  return 'giugno';
		case 6:  return 'luglio';
		case 7:  return 'agosto';
		case 8:  return 'settembre';
		case 9:  return 'ottobre';
		case 10: return 'novembre';
		case 11: return 'dicembre';
	}
	throw 'unexpected month number';
};

/**
 * Convert a category name to a Date object
 *
 * @param date {string} e.g. '4 aprile 2013'
 * @return {Date}
 */
DelBot.categoryName2Date = function ( categoryName ) {
	var parts = categoryName.split( ' ' );
	if( 3 !== parts.length ) {
		throw 'unexpected category name';
	}
	var d = parseInt(                     parts[ 0 ] ),
	    m = DelBot.monthName2MonthNumber( parts[ 1 ] ),
	    y = parseInt(                     parts[ 2 ] );
	return new Date( y, m, d );
};

/**
 * Convert a Date object to a category name
 *
 * @param date {Date}
 * @return {string} e.g. '4 aprile 2013'
 */
DelBot.date2CategoryName = function ( date ) {
	return date.getDate() + ' ' + this.monthNumber2MonthName( date.getMonth() ) + ' ' + date.getFullYear();
};

/**
 * 
 * Convert a Date object to a log formatted date
 * 
 * It's used in the log and in the count tables
 *
 * @param date {Date}
 * @return {string} e.g. '2013 aprile 4'
 */
DelBot.date2LogFormat = function ( date ) {
	return date.getFullYear() + ' ' + this.monthNumber2MonthName( date.getMonth() ) + ' ' + date.getDate();
};

/**
 * Convert a timestamp to a Date object
 *
 * @param timestamp {string} Unix timestamp e.g. '20131224112565'
 * @return {Date}
 */
DelBot.timestamp2Date = function ( timestamp ) {
	var y = parseInt( timestamp.substr( 0,  4 ) ),
	    m = parseInt( timestamp.substr( 4,  2 ) ),
	    d = parseInt( timestamp.substr( 6,  2 ) ),
	    h = parseInt( timestamp.substr( 8,  2 ) ),
	    i = parseInt( timestamp.substr( 10, 2 ) ),
	    s = parseInt( timestamp.substr( 12, 2 ) );
	return new Date( y, m, d, h, i, s );
};