@designliquido/delegua-tempo
Version:
Biblioteca de manejo de tempo em português, para JavaScript e Delégua
55 lines • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.tempo = tempo;
exports.segundos = segundos;
exports.minutos = minutos;
exports.horas = horas;
exports.textoParaData = textoParaData;
const excecoes_1 = require("./excecoes");
/**
* Retorna uma data completa
*/
function tempo() {
return new Date();
}
/**
* Retorna os segundos atuais do sistema
*/
function segundos() {
return new Date().getSeconds();
}
/**
* Retorna os minutos atuais do sistema
*/
function minutos() {
return new Date().getMinutes();
}
/**
* Retorna a hora atual do sistema
*/
function horas() {
return new Date().getHours();
}
/**
* Retorna uma instância de Date do JavaScript da data passada por parâmetro, no formato DD/MM/AAAA.
* @param {any} _ O visitante da instrução, normalmente um interpretador.
* @param {string} dataComoTexto A data a ser convertida como texto, no formato DD/MM/AAAA.
* @returns A data como um objeto Date to JavaScript.
*/
function textoParaData(_, dataComoTexto) {
const regex = /^(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)\d\d$/;
if (typeof dataComoTexto !== "string" || !regex.test(dataComoTexto)) {
throw new excecoes_1.TempoErroEmTempoDeExecucao(null, //TODO: this.simbolo,
"O parâmetro passado deve ser um texto com a data no formato DD/MM/AAAA. Ex: '01/01/2014'");
}
const date = new Date(converterDataPtParaIso(dataComoTexto));
const timezoneOffset = date.getTimezoneOffset();
return new Date(date.getTime() + timezoneOffset * 60 * 1000);
}
function converterDataPtParaIso(date) {
const day = date.split("/")[0];
const month = date.split("/")[1];
const year = date.split("/")[2];
return `${year}-${month}-${day}`;
}
//# sourceMappingURL=index.js.map