-
Notifications
You must be signed in to change notification settings - Fork 0
/
Utils.js
57 lines (53 loc) · 1.81 KB
/
Utils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
* Raccolta di funzioni uditili.
*/
class Utils {
/**
* Fomratta un numero aggiungendo un carattere in testa fino araggiungere una
* certa lunghezza.
* @param {number} n - Numero da formattare.
* @param {number} width - Numero di cifre che deve avere il lumero finale.
* @param {character} z - Carattere da aggiungere.
* @return {string} Il numero formattato.
*/
static pad (n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}
/**
* Formatta una data secondo il formato YYYY_MM_DD.
* @param {Date} d - La data da formattare.
* @return {string} La data formattata.
*/
static formatDate (d) {
return d.getFullYear() + '_' + Utils.pad(d.getMonth() + 1, 2, 0) + '_' + Utils.pad(d.getDate(), 2, 0);
}
/**
* Trasforma i caratteri speciali (RegExp) di una stringa nei loro equivalenti.
* @param {string} str - La stringa da trasformare.
* @return {string} La stringa trasformata.
*/
static escapeRegEx (str) {
return str.replace(/[#-.]|[[-^]|[?|{}]/g, '\\$&');
}
/**
* Converte un timestamp in millisecondi in una stringa HH:MM.
* @param {number} timestamp - Il timestamp da convertire.
* @return {string} L'ora risultante.
*/
static timestampToOra (timestamp) {
var data = new Date(timestamp);
var minuti = Utils.pad(data.getMinutes(), 2, 0);
var ore = Utils.pad(data.getHours(), 2, 0);
return (ore + ':' + minuti);
}
/**
* Converti una stringa HH:MM in millisecondi passati dalla mezzanotte.
* @param {string} ora - L'ora da convertire.
* @return {number} L'ora convertita in millisecondi.
*/
static oraToMillisecondi (ora) {
return (parseInt(ora[0]) * 600 + parseInt(ora[1]) * 60 + parseInt(ora[3]) * 10 + parseInt(ora[4])) * 60 * 1000;
}
}